0

我无法在 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。任何帮助都是极好的!

4

1 回答 1

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)

希望这会有所帮助...不是解决方案,但可能会有所帮助。

于 2012-07-03T08:01:30.697 回答