在 (SAMSUNG J7 Core) 安装最后一个软件更新和 运行 我的应用程序后,出现返回 <unknown ssid> 错误

In (SAMSUNG J7 Core) after I installed the last Software update and run my application, returning <unknown ssid> error occur

在我的应用程序中,我必须获取连接的 wifi ssid。 在我更新我的测试设备(三星 J7 核心)android 版本 8.1.0 中的最新软件之前,以下代码有效并且 returns当我调用 getConnectedWifiSSID() 时连接的 wifi ssid

但是在我更新我的设备(SAMSUNG J7 内核)中的最新软件后,当我调用 getConnectedWifiSSID() 时 returns 未知的 SSID。请给我一些建议。我该如何解决这个问题?

我使用以下代码获取 wifi ssid,它在我更新(SAMSUNG J7 核心)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();

我找到了这个问题的解决方案。

在SAMSUNG J7核心更新固件之前,我们可以通过编程方式获取连接的wifi名称。 但是在 SAMSUNG J7 内核更新固件后,当我们尝试以编程方式获取连接的 wifi 名称时 returns 。所以,没有错误。发生 2342 次。

可以通过在设备上启用 GPS 来解决此问题。 (用户需要启用 GPS)当设备 GPS 启用时,我们可以通过编程方式获取连接的 wifi 名称。如果 GPS 关闭,获取 wifi 名称 returns .

检索 SSID 需要在设备上启用定位服务。在一些最新的农具版本和 android 版本 9.0.

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