0

デバイスから Wi-Fi 接続ネットワークを削除したいのですが、ほとんどのコードを実行しましたが、機能していません。

 public void disconnectWifi(){
        Log.i(TAG,"In disconnectWifi()");
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
        wifiManager.forget(wifiInfo.getNetworkId(), new WifiManager.ActionListener() {
            @Override
            public void onSuccess() {
                Log.i(TAG,"wifi is disconnected");
            }

           @Override
            public void onFailure(int reason) {
                Log.i(TAG,"wifi is failed disconnected");
            }
        });
    }

ここでは、Success が呼び出されることはありません。

public void disconnectCurrentNetwork(){
        WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
        if(wifiManager != null && wifiManager.isWifiEnabled()){
            List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
            Log.d(TAG,"lIST"+list);
            int netId = wifiManager.getConnectionInfo().getNetworkId();
            wifiManager.removeNetwork(netId);
        }

    }

ここで netid は -1 の値を示し、wifi ネットワークも忘れません。WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN のアクセス許可を提供する必要があります。また、マニフェストで以下のように言及していますが、変更は発生しません。これらのオブジェクトを作成した場合にのみ、アプリが WifiConfiguration オブジェクトの状態を変更できるようになったことを読みました。 . ユーザーまたは他のアプリによって作成された WifiConfiguration オブジェクトを変更または削除することは許可されていません。モバイルの設定に行くことでネットワークを忘れることができるので、WiFiネットワークを忘れる方法があるはずです

  <uses-permission android:name="WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN"/>
4

0 に答える 0