android获取周围AP信息

1、增加权限:

  由于此应用需要获取手机的网络信息,wifi信息,因此需要在AndroidManifest.xml文件中添加相关权限,否则会报permission deny错误:

1  <uses-permission android:name="android.permission.INTERNET"/>
2  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>    
3  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
4  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

 

2、获取WifiManager对象:

 

1 WifiManager wm = (WifiManager)getSystemService(WIFI_SERVICE);  //获取wifi服务

  注意:android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,getSystemService是Android很重要的一个API,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象,getSystemService是抽象类的Context一个方法

3、启动扫描:

1 wm.startScan();  //启动扫描。

  注意:这个方法是立即返回的,应该是新启动一个线程进行AP的扫描,所以最好等一段时间(很短时间就可以了)再获取结果。

4、获取扫描结果:

 

1 List<ScanResult> scanList = wManager.getScanResults();
2 for(ScanResult scanResult : scanList){
3   //对扫描结果的操作 
4   String mac = scanResult.BSSID; //获取AP的mac地址
5   String ssid = scanResult.SSID; //获取服务集标识(路由器名字)
6   int rssi = scanResult.level; //wifi信号强度,单位是dbm
7 }

android获取周围AP信息,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。