生活随笔
收集整理的這篇文章主要介紹了
关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
From: http://blog.csdn.net/wanglj0925/article/details/7743182
一.檢測手機信號強度
? ? 檢測手機信號強度需要用到TelephonyManager類 這個類主要提供了一系列用于訪問與手機通訊相關的狀態和信息的get方法。其中包括手機SIM的狀態和信息、電信網絡的狀態及手機用戶的信息。在應用程序中可以使用這些get方法獲取相關數據。還有監聽手機內部的狀態PhoneStateListener類,主要監聽手機的服務的狀態、信號強度、消息等待指示(語音信箱)、通話轉移、呼叫狀態、設備單元位置、數據連接狀態、數據流量方向。
? ? 1.初始化TelephonyManager得到對象
[java] view plaincopy
telephonyManager?=?(TelephonyManager)?getSystemService(Context.TELEPHONY_SERVICE);??
? ? 2.監聽手機內部狀態
[java] view plaincopy
PhoneStateListener?pStateListener?=?new?PhoneStateListener()?{????????????????@Override??????????????public?void?onSignalStrengthChanged(int?asu)?{????????????????????????????????????super.onSignalStrengthChanged(asu);????????????????????????????????}????????????????@Override??????????????public?void?onSignalStrengthsChanged(SignalStrength?signalStrength)?{????????????????????????????????????super.onSignalStrengthsChanged(signalStrength);??????????????????if?(signalStrength.isGsm())?{????????????????????????????????????????????signalDec?=?signalStrength.getGsmSignalStrength();??????????????????}??????????????}??????????};??
3.設置監聽
[java] view plaincopy
telephonyManager.listen(pStateListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);??
這樣就能得到手機的信號強度了,當然還有關于手機一些其他的信息也可以通過
TelephonyManager的get方法得到。
二.檢測wifi信號強度
? ?獲取wifi信號強度要用到的類有WifiManager和WifiInfo
? ?1.初始化WifiManager得到對象
[java] view plaincopy
wifiManager?=?(WifiManager)?getSystemService(WIFI_SERVICE);??
? ?2.通過
WifiManager對象得到WifiInfo對象
[java] view plaincopy
WifiInfo?mWifiInfo?=?wifiManager.getConnectionInfo();??
? ?3.獲取wifi信號強度
[java] view plaincopy
wifiDec?=?mWifiInfo.getRssi();??
三.獲取周圍的wifi熱點
? 首先我們要獲取wifi熱點時必須保證手機的wifi開關已經打開,這里先用判斷wifi的狀態
? 通過wifiManager.getWifiState()來獲取wifi的當前狀態,返回的是一個int值,1代表當前狀態不可用,3代表可用
? 如果當前wifi開關為關閉時設置wifiManager.setWifiEnabled(true);為true時便可打開wifi開關
? 獲取周圍的wifi熱點,它是一個List集合List<ScanResult>。
[java] view plaincopy
List<ScanResult>?scanResultsList?=?wifiManager.getScanResults();??
? 這樣就得到了周圍wifi熱點的一個List集合,顯示到listview就好了
?四.實現效果圖
? ? wifi開關沒有打開時
? ??
? ?有可用的wifi時
? ??
最后說明下如果你的wifi信號強度大于-70表示還不錯,小于-70那信號就很差了
源碼在我的資源里面,要一起學習的同學可以去下載,寫的很亂。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。