2013-07-16 38 views

回答

1

回答幫我出我的問題是,你應該使用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(); 


       } 



     }