我在Android 4.0+上获取RSSI或网络强度时遇到问题。我使用的当前方法适用于下面任何版本的android。
这是我正在尝试的......
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected()) {
signalStrengthTextView = (TextView) view.findViewById(R.id.signalStrengthTextView);
signalStrengthListener = new SignalStrengthListener();
((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(signalStrengthListener,SignalStrengthListener.LISTEN_SIGNAL_STRENGTHS);
int SIGNAL_STRENGTH_VALUE = 0;
try {
SIGNAL_STRENGTH_VALUE = Integer.parseInt(signalStrengthTextView.getText().toString());
} catch(NumberFormatException nfe) {
}
值始终返回99而不是正确的RSSI。任何帮助都会很棒!
答案 0 :(得分:0)
并不是说我是电话API的专家。以下是直到它们才更新的值 偏离最后一个范围。
SIGNAL_STRENGTH_NONE_OR_UNKNOWN (99)
SIGNAL_STRENGTH_GREAT (16-32)
SIGNAL_STRENGTH_GOOD (8-15)
SIGNAL_STRENGTH_MODERATE (4-7)
SIGNAL_STRENGTH_POOR (0-3)
希望这有点帮助......不是解决方案,但可能有所帮助。