问题标签 [cellinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 有没有办法将 CellInfoNr 设置为 CellSignalStrengthNr?
我正在寻找用于输出内部单元信息的文档,例如 RSRP、RSRQ、SINR、RSSI。
我想看看5G(新无线电)数据。
这就是我试图获得 5G 的 cellRSRP。获取 LTE 数据非常相似。
这不起作用,因为我故意施放
在这段代码上
由于getCellSignalStrength()
不返回CellSignalStrengthNr
数据,(它返回CellSignalStrength
)
所以我只是输入代码,没有检测到错误,一切似乎都很好。
但事实并非如此,我来这里是为了问一个问题。
所以,简而言之,
- 有
CellSignalStrengthNr
没有不铸造的正常方法? - 还是我应该尝试更多不同的铸造方式?
android - 在我的 Android 应用程序中检测 5G NR (SA/NSA)
我正在尝试检测 5G 网络。我使用电话管理器获取NETWORK_TYPE。即使我在 5G 网络覆盖范围内并且我的手机显示 5G,我也没有得到 NETWORK_TYPE_NR。NETWORK_TYPE 始终为 13,即 LTE。电话工程服务模式显示 NR 相关数据。有什么方法可以检测 NR(独立或非独立)模式?
我还需要获取 NR 数据的单元信息。我使用telephonyManager.getAllCellinfo(),但我从来没有得到cellinfonr的实例。
任何帮助表示赞赏。谢谢
android - Android > 如何获取双卡设备中两张卡的服务状态?
我需要它用于 API 22 及更高版本。我看到我们有telephonyManager.getServiceState
- 但我不知道如何为 sim1 和 sim2 获得它。我们也有 CellInfo.serviceState - 但它仅来自 API 28。
如何得到它?我不需要任何听众,我只想在特定时间获取服务状态
请帮忙!
java - 为什么 cellInfo 的大小为零?当我用 TelephonyManager 得到它时它为零
我用cellInfo得到了四个参数:rssi、rsrp、rsrq和sinr。我找不到解决此问题的正确解决方案。有人知道如何获取 CellInfo 吗?我目前正在使用安卓模拟器。我的清单权限:
代码:
android - 如何为单元测试创建 CellInfo 对象?
我正在编写单元测试用例,我无法理解的是如何制作 CellinfoGsm 或任何技术的虚拟对象并从中测试我的代码。我确实阅读了 CellInfo 的文档和基类,但我不明白如何使用 Creator,谁能给我一个示例,说明如何使用我自己的值制作我自己的对象以用于测试目的。任何帮助将不胜感激。
android - Android 11 5G 获取 Cell 参数
我在新的 Android Studio 预览版上尝试使用 5G 网络类型的 Android 11。我的目标是获取 Cell Info 详细信息。但是,getAllCellInfo() 方法在模拟器上返回一个空/null 列表。Android 11 之前的所有模拟器都会返回有效值。我是否需要做任何额外的配置才能在 Android 11 上运行?
android - Android TelephonyManager requestCellInfoUpdate 在 API 29 上返回过时数据
一段时间以来,我一直在使用 Android 的 TelephonyManager 遇到问题。我们使用 TelephonyManager 进行电话信号实时测量,但在尝试升级到 API 29 时,它已成为一个问题。在 API 28 及以下版本中,我们只是用来TelephonyManager.allCellInfo
从设备中获取所有单元格信息,它可以完美运行。但是,如果您以 API 29 为目标并使用上面相同的代码,则读数只是原地不动,永远不会改变。它们通常会在您每次请求时更改,即使只是稍微像信号从 -98 更改为 -99。
我发现在 API 29 上,该过程必须与 Android 文档中解释的有所不同。 https://developer.android.com/reference/android/telephony/TelephonyManager#requestCellInfoUpdate(java.util.concurrent.Executor,%20android.telephony.TelephonyManager.CellInfoCallback)
文档上的措辞如下“针对 Android Q 或更高版本的应用程序将不再通过调用此 API 来触发缓存的 CellInfo 刷新。相反,这些应用程序将接收最新的缓存结果,这可能不是最新的。针对 Android 的应用程序Q 或更高版本希望请求更新的 CellInfo 应调用 requestCellInfoUpdate();但是,在所有情况下,更新将受到速率限制且不能保证。要确定 CellInfo 数据的新近度,调用者应检查 CellInfo#getTimeStamp()。
因此使用TelephonyManager.allCellInfo
不再触发数据的刷新。相反,我使用TelephonyManager.requestCellInfoUpdate
并使用了回调。我用来解决这个问题的代码如下。
请注意,这是 Kotlin,但同样适用于 Java。
这几乎解决了读数开始再次出现的问题,但经过进一步检查,似乎限速部分现在是一个新问题,因为读数的时间最长可达 10 秒,这对您来说非常无用重新移动。除了存在之外,我根本找不到有关该速率限制的更多信息……结果,这使我们的软件非常无法使用。目前,我唯一能做的就是以 API 28 为目标,但谷歌不希望这种情况持续太久。
我还发现这个线程上的一些信息对上面的代码非常有用。requestCellInfoUpdate() 的正确用法是什么?
任何帮助或建议将不胜感激。
亨利
android - 时间提前在 Android 中无效
我正在开发一个 Android 应用程序来阅读 LTE 的时序提前。每当设备在 wifi 上时,TA 总是像预期的那样无效。但是当我关闭wifi并连接到移动数据时,它仍然无效。如果我重新启动设备,则 TA 将作为有效值。设备重启是否需要切换到移动数据才能读取正确的 TA?
有时 TA 在移动数据上无效。这是预期的吗?有哪些方法可以始终在移动数据上获取有效的 TA?
用于读取TA的api是cellSignalStrength.timingAdvance
提前致谢
android - Android TelephonyManager requestCellInfoUpdate 返回旧时间戳但数据已更改
我使用 requestCellInfoUpdate 在 Android 10 及更高版本中更新 allCellInfo:
为什么 activeCellInfos 时间戳保持旧状态但数据(rssi、rsrp、rsrq 等)发生了变化?
java - cellIdentityLte.getBands() 总是返回带的空数组
如何获得正确的频带和带宽值?,我按照官方文档使用下面的代码。
参考:getBands() - https://developer.android.com/reference/android/telephony/CellIdentityLte#getBands() 参考:getBandwidth() - https://developer.android.com/reference/android/telephony/CellIdentityLte #getBandwidth()
权限: