0

以下のコードでは、SIM がネットワークに登録されていても、isRegistered() メソッドは常に false を返します。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 に答える