Как получить идентификатор вышки сотовой связи от dual sim2
Я могу получить первый идентификатор сотовой вышки с этим кодом ниже. но я хочу получить второй идентификатор ячейки sim2.
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();
int nowcid = cellLocation.getCid();
int nowlac = cellLocation.getLac();
Есть много вопросов по этому поводу. но я протестировал все коды с Android 6.0 Samsung 2016 года, но не получил идентификатор ячейки sim2. некоторые люди говорят, что это невозможно по другим вопросам, но приложение Network Cell Info Lite https://play.google.com/store/apps/details?id=com.wilysis.cellinfolite&hl=en получает идентификатор ячейки из sim2 на каждом протестированном устройстве,
1 ответ
Для устройств MediaTek есть скрытый классcom.mediatek.telephony.TelephonyManagerEx
, Используйте отражение, чтобы получить доступ к этому классу. Это должно работать надежно на устройствах MTK. Используемый параметр simId имеет для SIM 0 значение 0 и для SIM 2 значение 1.
Изучите очень сложное, чтобы найти описание API: http://www.lcis.com.tw/paper_store/ps_html/MediaTek_SDK_for_Android_Developers_Guide_v1_0-2016103002732388.pdf.html
Есть статика getDefault
метод.
Для телефонов на базе Qualcomm в TelephonyManager есть скрытые методы. Просто TelephonyManager.class.getDeclaredMethods()
внутри отладчика, чтобы увидеть, что доступно.