我可以通过以下代码获得第一个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。
答案 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()
调试器内部即可查看可用内容。