如何从双sim2获取cell tower id

时间:2017-05-11 07:54:03

标签: android location telephonymanager dual-sim cellid

我可以通过以下代码获得第一个sim cell tower id。但我想得到第二个sim2 cell id。

    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();
  int   nowcid  = cellLocation.getCid();
  int nowlac = cellLocation.getLac();

有很多问题。但我用android 6.0 samsung j7 2016测试了所有代码,但没有得到sim2 cell id。 有些人说除了Network Cell Info Lite之外,其他问题也是不可能的 app https://play.google.com/store/apps/details?id=com.wilysis.cellinfolite&hl=en在我测试的每台设备上从sim2获取cell id。

1 个答案:

答案 0 :(得分:0)

对于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()调试器内部即可查看可用内容。