2

ネットワークタイプがUMTSの場合、CellSignalStrength、つまりgetDbm()を取得する方法を誰でも知っていますか。ネットワーク タイプが LTE または GSM の場​​合、 http://developer.android.com/reference/android/telephony/CellSignalStrengthLte.htmlのようなクラスを使用できます。

しかし、UMTS SignalStrength を取得する方法がわかりません。このために Android によって提供されるクラスはありますか? 私を助けてください

4

1 に答える 1

2

私の質問への答えは、CDMA http://developer.android.com/reference/android/telephony/CellSignalStrengthCdma.htmlを使用する必要があることです。

UMTS は CDMA の一種なので、うまくいくと思います。

私がGSM、LTE、UMTSに使用しているコードはこれであり、私にとってはうまく機能しています。

  public void onSignalStrengthsChanged(SignalStrength signalStrength) {
            super.onSignalStrengthsChanged(signalStrength);

                 CellSignalStrengthLte1 a1=new CellSignalStrengthLte1();
                a1.initialize(signalStrength, 1);
                MyService.signal=a1.getDbm();

                if(MyService.signal>0){
                    CellSignalStrengthGsm1 a3=new CellSignalStrengthGsm1();
                a3.initialize(signalStrength.getGsmSignalStrength(), 1);
                MyService.signal=a3.getDbm();

                    }

                if(MyService.signal>0)
                {
                    CellSignalStrengthCdma1 a2=new CellSignalStrengthCdma1();
                    a2.initialize(signalStrength.getCdmaDbm(),signalStrength.getCdmaEcio(),signalStrength.getEvdoDbm(), signalStrength.getEvdoEcio(),signalStrength.getEvdoSnr());
                    MyService.signal=a2.getDbm();


                }



        }
于 2013-07-25T05:26:53.517 に答える