java - 为什么 cellInfo 的大小为零?当我用 TelephonyManager 得到它时它为零
问题描述
我用cellInfo得到了四个参数:rssi、rsrp、rsrq和sinr。我找不到解决此问题的正确解决方案。有人知道如何获取 CellInfo 吗?我目前正在使用安卓模拟器。我的清单权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
代码:
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
cellInfoList = tm.getAllCellInfo();
for (CellInfo cellInfo : cellInfoList) {
if (cellInfo instanceof CellInfoLte) {
rssi = ((CellInfoLte) cellInfo).getCellSignalStrength().getRssi();
rsrp = ((CellInfoLte) cellInfo).getCellSignalStrength().getRsrp();
rsrq = ((CellInfoLte) cellInfo).getCellSignalStrength().getRsrq();
snr = ((CellInfoLte) cellInfo).getCellSignalStrength().getRssnr();
}
}
rssiValue.setText(String.valueOf(rssi));
rsrpValue.setText(String.valueOf(rsrp));
rsrqValue.setText(String.valueOf(rsrq));
sinr.setText(String.valueOf(snr));
解决方案
根据官方文档调用这个方法需要ACCESS_FINE_LOCATION
权限,你只需要COARSE
.
推荐阅读
- jquery - 在复选框和文本框上使用相同的功能切换可见性
- java - 在服务中展示需要活动上下文的广告
- android - 如何使用 gradle 插件 3.2 设置库版本?
- c# - Azure Key Vault 是否适合存储在客户端应用程序上生成的加密密钥?
- python - 继承放心python
- elasticsearch - 无法使用 CLI 更新 ElasticSearch 访问策略
- ruby - 为什么 'unset http_proxy' 在 Rakefile 中不起作用
- spring-cloud-contract - Spring Cloud Contract 生成存根和具有相同存根的独立服务器
- python - pandas groupby 计算一列中零的数量
- scala - 如何在 Spark Scala 中读取 utf-8 编码文件