Android CellSignalStrength(网络类型为UMTS时)

时间:2013-07-16 07:58:40

标签: android

当网络类型为UMTS时,任何机构都可以知道如何获取CellSignalStrength,即getDbm()。当网络类型是LTE或GSM时,我们可以使用类似http://developer.android.com/reference/android/telephony/CellSignalStrengthLte.html

的类

但是dnt知道如何获得UMTS SignalStrength并且是否有Android为此提供的类?请帮帮我

1 个答案:

答案 0 :(得分: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();


                }



        }