0

在下面的代码中,isRegistered() 方法总是返回 false,尽管 SIM 已向网络注册。API 17 上使用的权限“ACCESS_COARSE_LOCATION”

List<CellInfo> cellinoflist= tm.getAllCellInfo();
for(CellInfo cellinfo : cellinoflist)
{
  if(cellinfo!=null && cellinfo instanceof CellInfoGsm) {
    CellInfoGsm GSMinfo = (CellInfoGsm) cellinfo;
    Log.d(TAG, "GSM network registered: "+GSMinfo.isRegistered());
  }
}

是我们可以得到这个工作的任何其他方式。

4

2 回答 2

0

您是否使用过“ACCESS_COARSE_UPDATES”权限?

<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />
于 2013-07-09T05:43:17.030 回答
0

不知何故,这似乎适用于注册了 4G 网络的 SIM 卡。我可以看到 isRegistered() 第一次返回 true。但是所有变量的 CellSignalStrengthLte 值都相同(rsrp、rsrq、rssnr、cqi、ta)

于 2013-07-10T10:16:33.887 回答