获取热点android 8.0及更高版本的ssid和密码

时间:2018-10-27 08:55:38

标签: android passwords hotspot ssid

您好,我尝试获取热点的ssid和密码。我在下面的方法中使用它,并且它在Android到8以下的工作中。 但在android 8.0中它的throw exption,我读到我需要一些前提 权限:android.permission.OVERRIDE_WIFI_CONFIG。 但我们无法获得这种要求

   Method[] methods = m_wifiManager.getClass().getDeclaredMethods();
    for (Method m : methods) {
        if (m.getName().equals("getWifiApConfiguration")) {
            try {
                m_wifiConf = (WifiConfiguration) m.invoke(m_wifiManager);
                message = m_wifiConf.SSID + '/' + m_wifiConf.preSharedKey + '/';
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }

        }

1 个答案:

答案 0 :(得分:0)

不确定这是否与您的反思方法有关,但是从Android 8.1开始,您至少需要启用ACCESS_COARSE_LOCATION个权限和位置服务才能使用getConnectionInfo()(请参阅{{3} }。

无论如何,这将无法让您访问wifi密码。

关于OVERRIDE_WIFI_CONFIG权限,则为getScanResults()

<permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
android:protectionLevel="signature|privileged" />

这意味着您的应用必须通过平台密钥签名或添加到特权defined中才能使用此权限。