我有一个(FOSS)应用程序,除其他功能外,还可以启用和禁用Wifi。
AndroidManifest.xml包含android.permission.CHANGE_WIFI_STATE
,模拟器传递的单元测试,该功能适用于真实设备,HTC Desire运行2.2.2。
SDK版本为android:minSdkVersion="7"
和android:targetSdkVersion="10"
,因此我无法谈论Android的新版本。
我收到了一份崩溃报告:
java.lang.SecurityException: Permission Denial: writing com.android.providers.settings.SettingsProvider
uri content://settings/secure from pid=6191,
uid=10114 requires android.permission.WRITE_SETTINGS
Android的最新版本可能需要android.permission.WRITE_SETTINGS
吗?该引用表明自API 1以来存在权限,因此我很惊讶为什么它不在旧版本中。
用户消息很奇怪,只是说“谎言”,所以我不确定是否应该按照此报告添加android.permission.WRITE_SETTINGS
。
有什么想法吗?
干杯, 托
答案 0 :(得分:1)
这很奇怪,因为我需要检查完全相同的问题,所以我只写了几行代码就是这样:启用/禁用wifi和蓝牙。 我的结论是:你不需要WRITE_SETTINGS权限来切换wifi,也不需要蓝牙。
wifi = access_wifi_state + change_wifi_state BT = bluetooth + bluetooth_admin
(4.2.2)
检查你是否也在尝试别的东西,这可能会触发异常?