java - Android - 无法以编程方式删除 Wifi 网络 - WifiManager 类型中的方法 removeNetwork(int) 不适用于参数(字符串)

标签 java android timer wifi

我正在尝试以编程方式删除我的 wifi 网络 - 但是我似乎无法删除/忘记当前连接的 wifi 连接。这应该是一项非常简单的任务 - 所以我不确定我做错了什么。

我使用以下 StackOverflow 帖子作为示例:

How to forget a wireless network in android programmatically?

     public class KillTimer extends Activity {

     @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.killtimer);
       WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
       wifiManager.getConnectionInfo().getSSID()
       wifiManager.getConnectionInfo().getNetoworkId();
       wifiManager.removeNetwork(wifiConfig.networkId);
       wifiManager.saveConfiguration();

   }}

最佳答案

removeNetwork() 只接受整数参数。 networkSSID 是一个字符串值。这就是错误的原因。我看到您使用的是字符串形式的 SSID。您必须提供整数的网络 ID。您可以尝试 getConnectionInfo().getSSID() 并与您的 ssid 进行比较,如果它们相同则您可以尝试获取 getConnectionInfo().getNetoworkId() 应该给出已连接网络的网络 ID,您可以使用它来删除网络。

试试这个:

public class KillTimer extends Activity {
       @Override
       public void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.killtimer);
           WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
           int networkId = wifiManager.getConnectionInfo().getNetworkId();
           wifiManager.removeNetwork(networkId);
           wifiManager.saveConfiguration();
       }}

截至 2019 年 6 月 10 日的最新更新

Android 6.0以后的Wifi管家有一些变化。

如果 WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN 不为零,则用户无法再修改或删除由 Activity 设备所有者创建的任何 Wi-Fi 配置。

活跃的设备所有者有权编辑或删除任何 Wi-Fi 配置,包括非他们创建的配置。

更多详情请引用:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html

关于java - Android - 无法以编程方式删除 Wifi 网络 - WifiManager 类型中的方法 removeNetwork(int) 不适用于参数(字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050122/

相关文章:

java - Android 2d 游戏碰撞检测

Java:字符串引用获得意外输出

android - 从android中的latlng对象获取经纬度

Javascript 计时器在单击开始之前已经运行

java - 从 Eclipse 插件贡献 Java 注释

java - jframe中如何清除

java - 在 Android 上初始化 Facebook SDK 时未找到类 com.facebook.FacebookActivity

java - 在模拟器上运行 android 应用程序时出现 GRPC 服务器错误

时间:2019-03-09

java - 在 Windows 中,如何以编程方式使我的整个屏幕黑白闪烁?