Xamarin.android 以编程方式忘记存储的WiFi网络

Xamarin.android 以编程方式忘记存储的WiFi网络,xamarin.android,Xamarin.android,在android 6及更高版本中,忘记保存的旧Wi-Fi网络和删除连接文件的方法是什么?如果要忘记保存的旧wifi网络,您可以按照以下方法进行尝试: public void RemoveWiFi() { WifiManager mWifiManager = (WifiManager)GetSystemService(Context.WifiService); WifiConfiguration mWifiConfig = new WifiConfiguration();

在android 6及更高版本中,忘记保存的旧Wi-Fi网络和删除连接文件的方法是什么?

如果要忘记保存的旧wifi网络,您可以按照以下方法进行尝试:

public void RemoveWiFi()
{
    WifiManager mWifiManager = (WifiManager)GetSystemService(Context.WifiService);
    WifiConfiguration mWifiConfig = new WifiConfiguration();
    List<WifiConfiguration> conlist = (List<WifiConfiguration>)mWifiManager.ConfiguredNetworks;//获取保存的配置信息
    for (int i = 0; i < conlist.Count; i++)
    {
        Log.Debug("Tag", "i = " + i + "SSID = " + conlist[i].Ssid + " netId = " + conlist[i].NetworkId);
        
        // Forget the specified wifi 
        // if (conlist[i].Ssid == "xxx") { ... }
         
        // Forget the current connected wifi
        if ( i == 0 ) 
        {
            mWifiManager.RemoveNetwork(conlist[i].NetworkId);
        }
        
    }
}
  • 在Android设备中安装app bellow
    /system/app
    文件夹

  • 嗨,小姜。当把代码放在按钮内并按下应用程序停止时,注意到我给了permission@ALIE好的,你能在这里分享错误日志吗?以及是否在物理设备中测试它。@ALIE Hi,很抱歉注意到这一点。此方法需要将应用程序转换为系统应用程序并授予系统权限。在放置void按钮后,我使用了以下方法。单击+=委托{RemoveWiFi();}@ALIE我已经更新了答案,还需要系统许可。因为Android 6.0不允许私人应用删除wifi配置。
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package=xxxx"
        android:sharedUserId="android.uid.system"
        coreApp="true">
    
     <application
            android:process="system"
     />