如何在我目前的Android系统中获取我的wifi热点ssid

sol*_*lar 19 java android ssid wifi

我有一个问题,我在我的Android系统中找不到我的wifi热点ssid.
我从谷歌找到了很多信息,但没有任何帮助.
请帮我解决一下.

Lal*_*ani 52

您可以使用WifiManagerWifiInfo获取Wifi SSID

   WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
   WifiInfo wifiInfo = wifiManager.getConnectionInfo();
   Log.d("wifiInfo", wifiInfo.toString());
   Log.d("SSID",wifiInfo.getSSID());
Run Code Online (Sandbox Code Playgroud)

还要在Manifest文件中添加Permission.

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

  • 哦〜这个方法我以前试过,它只能得到我当前的连接ssid,但无法在我的android系统中得到我的wifi热点ssid (3认同)
  • 在Android 8.1上不起作用.`#dumpsys wifi | grep mWifiInfo`给出`mWifiInfo SSID:<unknown ssid>,BSSID:<无>,MAC:...,请求状态:DISCONNECTED,RSSI:-127,链接速度:-1Mbps,频率:-1MHz,网络ID: - 1,Metered提示:false,得分:0` (3认同)

Bar*_*chs 9

这里:http://www.androidjavadoc.com/2.3/android/net/wifi/WifiManager.html是WifiManager的完整文档.

请注意,某些方法仅可通过检查获得,您需要的方法也是如此getWifiApConfiguration.

WifiManager wifimanager = (WifiManager) getSystemService(WIFI_SERVICE);
Method[] methods = wifimanager.getClass().getDeclaredMethods();
for (Method m: methods) {           
    if (m.getName().equals("getWifiApConfiguration")) {
        WifiConfiguration config = (WifiConfiguration)m.invoke(wifimanager);

            // here, the "config" variable holds the info, your SSID is in
            // config.SSID
    }
}
Run Code Online (Sandbox Code Playgroud)

哦,因为这些东西被标记为隐藏,它可以在任何未来版本的Android中更改或完全删除.所以,不要在"官方"应用程序上过多依赖它,除非你非常清楚.


Dan*_*tor 0

你尝试过使用WifiInfo.getSSID()吗?

http://developer.android.com/reference/android/net/wifi/WifiInfo.html#getSSID%28%29

  • 他需要找到一种方法来获取他的 Android 设备正在广播的网络的 SSID,而不是他所连接的网络的 SSID,如果我理解正确的话 (2认同)