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 に答える