2012-07-03 38 views
2

如何在不使用聽衆的情況下獲得當前的CDMA信號強度? 如果信號電平發生變化,我不需要更新。 研究我還沒有看到解決方案。如果它只是在它發生變化時才顯示出來,那麼最上面的信號電平是如何工作的?我只需要粗略估計與條形圖有關的單元信號強度。用無聽衆獲取手機信號強度

ConnectivityManager cm=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
int CDMAdb=cm.SignalStrength.getCdmaDbm(); 

回答

0

我不調制解調器/ RIL相關的東西的工作,但因爲手機會嘗試連接到網絡時,它開始我猜想,狀態欄顯示的信號強度開始監聽信號開機後立即強度發生變化。
您也可以通過執行starts automatically upon boot completion並註冊接收onSignalStrengthsChanged回調的PhoneStateListener服務來完成此操作。接收到第一個回調之前的初始信號強度值由您決定(最小強度看起來像是一個合理的初始值)。 然後,您的活動可以隨時查詢服務當前的信號強度(通過intent/binder/whatever),只要它需要它。