微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

getAllCellInfo在android 4.2.1中返回null

我的 Android版本是4.2.1,我正在尝试使用TelephonyManager.getAllCellInfo()方法.在我的清单文件中,我有ACCESS_COARSE_UPDATES,ACCESS_COARSE_LOCATION,ACCESS_FINE_LOCATION权限.但是该方法返回null.

解决方法

TelephonyManager.getAllCellInfo() javadoc:

This is preferred over using getCellLocation although for older devices this may return null in which case getCellLocation should be called.

Some sources报告该方法仅在CDMA / LTE设备上实现,并且其他类型的设备(包括GSM / LTE设备)将返回空.在实施的情况下,它将仅返回LTE小区.

TelephonyManager.getCellLocation()将仅返回GSM / umts或CDMA小区.它仅限于一个单元,即设备当前注册的单元.如果您确定您的代码仅在GSM / umts或CDMA设备上运行,并且您只对设备当前注册的单元感兴趣,那么这是您最安全的选择.

获取有关其他周围单元格的信息,请使用TelephonyManager.getNeighboringCellInfo().但是,它仅限于GSM / umts小区.此外,它的实现取决于无线电固件.大多数三星设备(以及其他一些设备)将返回一个空列表.

结论:在Android上获取有关附近单元格的信息是非常混乱的.您可能需要使用所有三种方法的组合来获取所需的信息,即使这样,某些事情也可能无法访问.

原文地址:https://www.jb51.cc/android/316389.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐