Android在代码中打开切换wif失败:WifiStateMachine: Not authorized to update network
2016-05-02 22:45
1881 查看
需要在app代码中切换wif,自动连接指定的wifi (ssid),之前是可以,小米系统升级之后发现切不了了,升级之后的Anroid版本是6.0版本,调用代码和系统的waring log如下:
05-02 22:21:41.666 1776-5360/? I/addOrUpdateNetwork: uid = 10757 SSID "gogogo" nid=-1
05-02 22:21:41.667 1776-2775/? W/WifiStateMachine: Not authorized to update network config="gogogo" cnid=-1 uid=10757
google了一下,看到有人删系统里面的wifi配置文件(/data/minc/wifi/xxx)
最后看到了WifiStateMachine.java打印waring log的的源码的地方,联想到google上有人说要删除wifi settigns里面的什么东东,然后动手把我要连的wifi删除(forget),再run一下app,可以正常切换了!
附:代码连接wif用到的工具项目:
https://github.com/kevin-yuan/android-wifi-connecter
如果你还需要自动扫描wifi,网上有一大把例子,也可以联系我发给你。
String ssid = "gogogo"; String password = "12345678" String type = "WifiCipherType.WIFICIPHER_WPA" //根据代码的实现而不同 WifiConfiguration wifiConfig = createWifiInfo(ssid, password, type); WifiManager.addNetwork(wifiConfig);系统日志:
05-02 22:21:41.666 1776-5360/? I/addOrUpdateNetwork: uid = 10757 SSID "gogogo" nid=-1
05-02 22:21:41.667 1776-2775/? W/WifiStateMachine: Not authorized to update network config="gogogo" cnid=-1 uid=10757
google了一下,看到有人删系统里面的wifi配置文件(/data/minc/wifi/xxx)
最后看到了WifiStateMachine.java打印waring log的的源码的地方,联想到google上有人说要删除wifi settigns里面的什么东东,然后动手把我要连的wifi删除(forget),再run一下app,可以正常切换了!
case CMD_ADD_OR_UPDATE_NETWORK: config = (WifiConfiguration) message.obj; if (!<span style="color:#ff0000;">recordUidIfAuthorized(config, message.sendingUid,</span> /* onlyAnnotate */ false)) { logw("Not authorized to update network " + " config=" + config.SSID + " cnid=" + config.networkId + " uid=" + message.sendingUid); replyToMessage(message, message.what, FAILURE); break; }猜测可能的原因:Android系统升级的6.0之后,增加了对系统权限控制的优化(包括wifi权限控制)带来的新的bug
附:代码连接wif用到的工具项目:
https://github.com/kevin-yuan/android-wifi-connecter
如果你还需要自动扫描wifi,网上有一大把例子,也可以联系我发给你。
相关文章推荐
- android 扬声器和听筒切换兼容5.0以上版本
- Android开发-------Android的IPC机制
- android TextView滚动、添加图片、设置颜色
- android:ems什么意思
- android卫星菜单的简单实现
- Android下am和pm命令简介
- [android] 轮播图-滑动图片标题焦点
- ListView从入门到中级,android菜鸟级别,
- android客户端和php服务简单交互
- Android手机客户端与服务器端的信息通信交互
- Android之Activity
- Android Studio 进阶详细配置
- 解决Android Studio倒入项目或者打开项目卡死
- android 小技巧
- 给大家推荐一些学习android的书籍(第一篇博客)
- Android 使用LayerDrawable自定制SeekBar的外观
- AndroidStudio项目提交(更新)到github最详细步骤
- Android ListView点击事件无反应
- 安卓中通过intent组件跳转到系统联系人编辑界面,及具体案例分析
- Android自学笔记(一)