相关疑难解决方法(0)

连接WIFI时获取SSID

当我的Android设备连接到WIFI时,我正在尝试获取WIFI网络的SSID.

我注册了BroadcastReceiver android.net.wifi.supplicant.CONNECTION_CHANGE.当WIFI断开连接或重新连接时,我收到通知.不幸的是,我无法获得网络的SSID.

我正在使用以下代码来查找SSID:

WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
Run Code Online (Sandbox Code Playgroud)

而不是SSID,我得到了<unknown ssid>回来的字符串.

这些是清单中的权限(我添加了ACCESS_NETWORK_STATE只是为了检查,我实际上并不需要它)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我怎样才能获得实际的SSID?在建立连接之前,广播是否已提前播出?我应该听另一个广播吗?我只对WIFI连接感兴趣,而不是3G连接.

更新:我刚刚检查过,wifiInfo.getBSSID()返回null.

android ssid wifi

55
推荐指数
6
解决办法
8万
查看次数

标签 统计

android ×1

ssid ×1

wifi ×1