当前位置: 首页 > 知识库问答 >
问题:

Android:无法获取LTE手机ID

芮朗
2023-03-14

我试图在我的应用程序中获取LTE小区ID号:

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
List<CellInfo> cellInfoList = tm.getAllCellInfo();

for (CellInfo cellInfo : cellInfoList)
    {
    if (cellInfo instanceof CellInfoLte) {
        CellIdentityLte cellIdentityLte = ((CellInfoLte) cellInfo).getCellIdentity();
        cellID = cellIdentityLte.getCi();
    }
}

但是cellID=cellIdentityLte。getCi() 始终返回2147483647,最大值表示出现问题。

我想访问\u FINE\u位置和读取\u PHONE\u状态的权限就足够了。play store上的其他应用程序正在为我提供正确的手机ID,因此该设备不是问题所在(并在多部手机上进行了测试)。顺便说一下,正在运行sdkv.30。


共有1个答案

游炳
2023-03-14

当在for循环中获取值时,邻居单元也会被迭代,因为UE没有连接到它们,所以邻居单元具有空cid。

这里有一个修正:

if (cellIdentityLte.getCi() != 0 && cellIdentityLte.getCi() != 2147483647) 
{
   cellID = cellIdentityLte.getCi();
}
 类似资料:
  • 本文向大家介绍Android 手机获取手机号实现方法,包括了Android 手机获取手机号实现方法的使用技巧和注意事项,需要的朋友参考一下 最近做到一个项目,需要获取手机号。项目中使用的手机卡为电信卡,那么就以此为例吧。 网上不符合需求的方法 Google了一下,网上的做法如下: 添加权限: <uses-permissionandroid:nameuses-permissionandroid:na

  • 本文向大家介绍Android手机获取Mac地址的方法,包括了Android手机获取Mac地址的方法的使用技巧和注意事项,需要的朋友参考一下 最常用的方法,通过WiFiManager获取: 这个方法Android 7.0是获取不到的,返回的是null,其实是返回“02:00:00:00:00:00” 根据本地IP获取: 这个方法Android 7.0及其以下版本都可以获取到。 根据网络接口获取: 注

  • 本文向大家介绍android手机获取唯一标识的方法,包括了android手机获取唯一标识的方法的使用技巧和注意事项,需要的朋友参考一下 获取手机唯一标识 拼接的方式获取手机唯一标识 第一种方式是获取IMEI,但是有的手机如果不是正品的话,就获取不到所以通过这一种方式还是会出现有的设备是没有唯一标识的 第二种方式获取手机卡的序列号,当然这种也不是唯一的,因为有的手机是双卡双待的所以可能会出现空的情况

  • 本文向大家介绍Android基于APN获取手机号的方法,包括了Android基于APN获取手机号的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android基于APN获取手机号的方法。分享给大家供大家参考。具体如下: 之前很多人说无法完全获取手机号,是因为现在有的卡不能获取,有的卡能获取,现在我们可以换一种思路来考虑问题,就是用APN的方式。请看代码: APNNET.java如下:

  • 本文向大家介绍Android获取手机通话记录的方法,包括了Android获取手机通话记录的方法的使用技巧和注意事项,需要的朋友参考一下 Android如何获取手机通话记录,本文为大家揭晓。 获取手机通话记录流程: 1、 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2、resolver.query(*); 需

  • 问题内容: 单击按钮时,我想从Android手机获取时区。 问题答案: 您是否尝试过使用: 大多数应用程序将使用 TimeZone.getDefault() ,它根据程序运行的时区返回TimeZone。 参考:http : //developer.android.com/reference/java/util/TimeZone.html