如果我在包含2G sim的设备中使用getAllCellInfo(),则返回null(注意:API级别:21)。我甚至试过getNeighboringCellInfo()它返回一个空的List<NeighboringCellInfo>
TelephonyManager telephonyManager = (TelephonyManager)mContext.getSystemService( Context.TELEPHONY_SERVICE );
if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.JELLY_BEAN_MR2) {
List<CellInfo> cellInfos = telephonyManager.getAllCellInfo();
if(cellInfos==null){
List<NeighboringCellInfo> neighboringCellInfos = telephonyManager.getNeighboringCellInfo();
CellLocation cellLocation = telephonyManager.getCellLocation();
}
}
注意:我的清单文件中getAllCellInfo
需要权限android.permission.ACCESS_COARSE_LOCATION
答案 0 :(得分:0)
很抱歉发布这个不恰当的问题。我发现,我上面提到的问题不是因为我使用的是2G sim,而是因为我在SIM1 Slot中没有SIM卡。当我使用3G sim(插槽1)和2G(插槽2)的代码时,它按预期工作,然后我禁用Slot1来检查2G,我遇到了上述问题。
经过一段时间的测试后,我启用了SIM1并将其更改为2G,现在我得到了预期的结果。我写的是它可以帮助别人。对不起我的英语不好。