В (SAMSUNG J7 Core) после того, как я установил последнее обновление ПО и запустил свое приложение, возвращаяошибка происходит - PullRequest
0 голосов
/ 19 сентября 2018

В моем приложении я должен получить подключенный Wi-Fi Wi-Fi. Перед обновлением последнего программного обеспечения в моем тестовом устройстве (ядро SAMSUNG J7) для Android версии 8.1.0 , работает следующий код и возвращает подключенный идентификатор Wi-Fi при вызове getConnectedWifiSSID ().

Но после того, как я обновляю последнюю версию программного обеспечения на моем устройстве (ядро SAMSUNG J7) , когда я вызываю getConnectedWifiSSID (), он возвращает неизвестный SSID .Пожалуйста, дайте мне несколько предложений.Как мне решить эту проблему?

Я получаю Wi-Fi ssid со следующим кодом, и он работает, прежде чем я обновлю последнюю версию программного обеспечения в (SAMSUNG J7 core) для Android версии 8.1.0.

 public String getConnectedWifiSSID() {
        WifiInfo wifiInfo = (WifiInfo) wifiManager.getConnectionInfo();
        try {
            return formatSSID(wifiInfo.getSSID());
        } catch (NullPointerException e) {
            e.printStackTrace();
            return null;
        }
    }

Я уже применяю эти разрешения в AndroidManifest.xml.

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Я также уже запросил у пользователя разрешение ACCESS_FINE_LOCATION.

      Dexter.withActivity(this)
            .withPermission(Manifest.permission.ACCESS_FINE_LOCATION)
            .withListener(new PermissionListener() {
                @Override
                public void onPermissionGranted(PermissionGrantedResponse response) {
                    setUpFirebaseRemoteConfig();
                }

                @Override
                public void onPermissionDenied(PermissionDeniedResponse response) {
                    finish();
                }

                @Override
                public void onPermissionRationaleShouldBeShown(PermissionRequest permission, PermissionToken token) {
                    token.continuePermissionRequest();
                }
            }).check();

1 Ответ

0 голосов
/ 20 сентября 2018

Я получил решение для этой проблемы.

Перед обновлением прошивки в ядре SAMSUNG J7 мы можем подключиться через Wi-Fi имя программно.Но после обновления прошивки в ядре SAMSUNG J7, когда мы пытаемся подключиться, имя wifi программно возвращается.Итак, ошибка нет.Происходит 2342.

Эту проблему можно решить, включив GPS на устройстве.(Пользователь должен включить GPS) Когда устройство GPS включено, мы можем подключиться через Wi-Fi имя программно.Если GPS выключен, возвращается имя Wi-Fi.

Получение SSID требует, чтобы на устройстве были включены службы определения местоположения.В некоторых последних версиях фермы и Android версии 9.0.

https://developer.android.com/about/versions/pie/android-9.0-changes-all

...