uniapp 切换WIFI

最近有一个新的需求,在app中实现切换wifi的功能。

方法一、

实现:使用安卓9(28)方法的WifiManager.addNetwork切换,具体实现方法大家自己搜,很容易搜到。
弊端: 要先忘记 WI-FI 才能连接成功,在安卓9上,可以用代码实现忘记。但是在安卓10系统以上就得手动忘记WI-FI,这样在安卓10系统上用户体验很不好。

方法二、

实现:使用安卓10 提供的方法WifiNetworkSpecifier, 点对点的方式切换 官方文档 ,根据官方文档写一个原生插件在uniapp项目里调用。
弊端:切换成功之后,只能在APP内使用网络,手机上的其他应用用不了,会显示网络未连接(有的说一部分手机上运行正常,一部分不正常,没有实际验证过)

方法三、

实现:安卓10以上可以用系统提供的Intent(Settings.Panel.ACTION_WIFI)
打开WI-FI设置面板手动选择连接,如下图所示
在这里插入图片描述
就目前来看,这个方法比较好一些。

在uniapp 中具体实现代码:

openWifiSetting() {
     let main = plus.android.runtimeMainActivity();
     let Settings = plus.android.importClass("android.provider.Settings");
     let Intent = plus.android.importClass("android.content.Intent");
     let panelIntent = new Intent(Settings.Panel.ACTION_WIFI);
     main.startActivityForResult(panelIntent, 10)
}

猜你喜欢

转载自blog.csdn.net/weixin_41767649/article/details/127971210
今日推荐