получить ssid и пароль для горячей точки Android 8.0 и выше - PullRequest
0 голосов
/ 27 октября 2018

привет, я пытаюсь получить ssid и пароль точки доступа. Я использую в методе ниже, и его работа для Android ниже до 8. но в Android 8.0 это исключение броска, я прочитал, что мне нужно получить некоторую предпосылку Разрешение: 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 голосов
/ 27 октября 2018

Не уверен, относится ли это к вашему подходу с отражением, но для Android 8.1 вам нужно иметь как минимум ACCESS_COARSE_LOCATION разрешенные службы доступа и определения местоположения, чтобы использовать getConnectionInfo () (см. getScanResults () ).

В любом случае, это не даст вам доступ к паролю Wi-Fi.

Что касается разрешения OVERRIDE_WIFI_CONFIG, оно определено как

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

Это означает, что ваше приложение должно быть подписано ключом платформы или добавлено в привилегированный белый список , чтобы использовать это разрешение.

...