我正在制作一个获取Wi-Fi和移动数据信息的应用程序。该应用程序的Wi-Fi部分工作正常,但我似乎无法使数据部分工作。我听说过这样的三星手机的问题(我测试的一个),我需要一个解决办法,而不以上的15Android获取移动数据信号强度(API <17)
我的API级别去这里是我当前的代码:
class myPhoneStateListener extends PhoneStateListener {
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
if (signalStrength.isGsm()) {
mobileStrength = signalStrength.getGsmSignalStrength();
mobileStrength = (2 * mobileStrength) - 113;
} else {
mobileStrength = signalStrength.getCdmaDbm();
}
}
}
但它返回null
。
它返回4(我认为这是最好的)。有没有办法从0到100?如果不是,我应该只使用'[result] * 25'的[result] * 20'吗? – AngryCupcake274
@ AngryCupcake274如果您想了解该方法如何产生一个值,请在AOSP中查找并根据您的目的进行调整。就我个人而言,我认为在默认实现中存在一定程度的“酒吧通胀”。 –
你知道一种像WifiInfo.getLinkSpeed()那样获得移动数据速度的方法吗?我不在乎它是什么样的网络,我只需要一个数字。 (我不得不在这里问,因为我不能发布90分钟) – AngryCupcake274