2010-09-27 35 views
17

我是移動射頻工程師,一直試圖從Android SDK環境中獲取一些特定的WCDMA/3G/UMTS信號測量值。使用公共類SignalStrength我已經成功獲得有意義的GSM值(在軟件工程師的協助下),使用getGsmSignalStrength(),但分別爲getCdmaDbm()getCdmaEcio()分別產生「-1」值,其應該返回相關的CDMA信號強度值。 -1絕對不對!Android:如何獲得3G/UMTS信號強度值

我的手機當時確實在UMTS上,我可以在現場測試軟件中讀取UMTS參數(以便讓現場測試軟件本身很麻煩)。

我認爲很有可能getCdmaDbm()getCdmaEcio()方法是用於CDMA網絡,而不是WCDMA(CDMA和WCDMA是不同的技術),這使我在嘗試從手機中獲得3G測量值時留下高和幹。另外,還有一些其他的方法,在那裏,但我根本無法找到他們在參考資料網站:

http://developer.android.com/reference/android/telephony/SignalStrength.html

是否有人可以幫助我?必須有一種方法(畢竟,現場測試s/w可以得到這些信息),但是如何?有人寫了一個名爲Cellumap的應用程序,它可以獲得UMTS,GSM和CDMA測量信息。

+0

檢查這個[answer](http://stackoverflow.com/questions/1967136/how-to-get-cell-service-signal-strength-in-android/1967160#1967160)關於實現這個對象作爲PhoneStateListener 。任何時候信號強度都會改變(以及活動開始時),您將獲得信號強度。 – 2011-06-22 03:22:52

回答

1

您是否嘗試過使用NeighboringCellInfo類的getRSSI()方法。它的描述:

返回接收的信號強度或UNKNOWN_RSSI如果未知對於GSM, 它是在 「ASU」 範圍從0到31(DBM = -113 + 2 * ASU)0意味着 「-113 dBm或少」和31層的意思是 「-51 dBm或更大的」 對於UMTS,它是 在TS 25.125中定義