我正在製作一個獲取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