2012-07-01 67 views
0

我無法在Android 4.0+上獲取RSSI或網絡強度。我使用的當前方法適用於任何版本的Android,但是。獲取網絡強度(RSSI)

這裏是我試圖...


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

不是我在電話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) 

希望這有助於一點...不是一個解決方案,但可能會有所幫助。