В моем приложении я должен получить подключенный 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();