先上效果图
实现其实很简单,就是WifiManager的各种调用,下面要说的是一些注意事项和踩到的坑
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
这些都是基本需要的权限,一般不会忘记,重要的是下一个:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
需要访问位置信息的权限一般都会忘记,毕竟网络和位置信息一般不会联想到一起去。很多人发现在使用getScanResult() 方法的时候获取到的列表是空的,很大一部分原因是位置权限没给,但是api 23以下又可以正常使用。很显然是因为6.0之后位置权限被列为危险权限,需要进行动态获取,这一步很容易就忘掉。