如何获得有效的误码率或Rx质量

时间:2012-01-30 15:49:16

标签: android

我试图通过使用getGthe以下编码获得误码率,但我总是得到-1。你有没有人想要获得有效的误码率。请帮助获得正确的价值。

代码如下。

public class GetGsmSignalStrengthActivity extends Activity {

        TelephonyManager        Tel;
        MyPhoneStateListener    MyListener;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Tel  = ( TelephonyManager )getSystemService(Context.TELEPHONY_SERVICE);
    Tel.listen(MyListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
   }
   private class MyPhoneStateListener extends PhoneStateListener
   {
     @Override
     public void onSignalStrengthsChanged(SignalStrength signalStrength)
     {
      super.onSignalStrengthsChanged(signalStrength);
      TextView dummy1 = (TextView)findViewById(R.id.textView5);            
      String x,m ="";            
          x=String.valueOf(signalStrength.getGsmBitErrorRate());
          dummy4.setText("Bit Error      : " +x);

     }

  }
}

1 个答案:

答案 0 :(得分:3)

阅读此bug report comment #4。你看,它是可选的,因此是可能的。如果调制解调器制造商不提供它,它将返回-1。

引用:

  

问题是TS 27.007第8.5节中的AT + CSQ被列为可选项。因此,调制解调器制造商可以选择是否使用标准接口提供信号和误码率。所以当你看到-1表示调制解调器的人没有实现它。