我们有一个应用程序,可以扫描可用的无线网络 . 我们收到报告称应用程序正在录制具有空BSSID的Wifi条目,尽管请求者状态为“已完成”
即
WifiInfo info = mWifiManager.getConnectionInfo();
String BSSID = info.getBSSID();
SupplicantState state = info.getSupplicantState();
其中BSSID为null,但请求者状态为COMPLETED
除非我的理解错误,如果设备已连接到wifi网络,肯定BSSID应该可用吗?如果请求状态为COMPLETED,为什么BSSID为空?
编辑:为清楚起见,我并不真正关心保证BSSID不为空,这不是我的问题 . 我们正在收集数据以进行广泛的分析,如果BSSID为空,那么就是这样,但是混淆的地方在于尽管请求者已经完成,它仍然是空的 . 我真的不确定如何调和这两个结果 . 有关详细信息,我们已确保拥有wifi权限:
我们没有通过遗漏的方式获得网络状态的许可:
android:name="android.permission.ACCESS_NETWORK_STATE"
android:required="true" />
ACCESS_NETWORK_STATE不在我们的清单中 .
那么,如果用户已连接到移动网络(3G说),那么请求者状态将返回COMPLETED,但由于我们缺乏权限,我们将无法获得BSSID?