首页 > 代码库 > android获取周围AP信息

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信号强度,单位是dbm7 }