gpt4 book ai didi

android - 在所有设备上获得信号强度的可靠方法?

转载 作者:太空狗 更新时间:2023-10-29 14:44:45 27 4
gpt4 key购买 nike

SignalStrength value retrieval through 2 different methods

上图显示了 LTE 连接上的 ASU %,橙色线来自从 TelephonyManager.getAllCellInfo() 检索到的值,蓝色线是来自回调函数 onSignalStrengthsChanged 的值。从图表中可以看出,蓝线表示 SignalStrengths 对象的值没有像预期的那样随着 getAllCellInfo 发生变化。

这意味着不能依赖 onSignalStrengthsChanged 来获得可靠的信号值,而 getAllCellInfo 似乎具有准确的测量值。但是,问题是 getAllCellInfo 并不适用于所有设备,华为 P9 将返回一个 null 值。有没有更好的方法来获取所有设备上的可靠信号强度值?

除此之外,为什么我已经拥有的 2 种方法会以不同的值响应?

最佳答案

private int getSignalStrengthByName(SignalStrength signalStrength, String methodName) {
try {
Class classFromName = Class.forName(SignalStrength.class.getName());
java.lang.reflect.Method method = classFromName.getDeclaredMethod(methodName);
Object object = method.invoke(signalStrength);
return (int) object;
....

我能够检索华为的几条信息,而不是使用 getAllCellInfo() 方法。我这样调用方法:

getSignalStrengthByName(signalStrength, "getDbm");
getSignalStrengthByName(signalStrength, "getLteRsrp") //examples

关于android - 在所有设备上获得信号强度的可靠方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874388/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com