Как получить идентификатор вышки сотовой связи от 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() внутри отладчика, чтобы увидеть, что доступно.

Другие вопросы по тегам