我试图在Android上启用airplanemode,但我收到以下消息:
java.lang.SecurityException:Permission Denial:不允许发送广播android.intent.action.AIRPLANE_MODE
从我的观点(和一些研究):
(1)我使用所有必要的许可来做到这一点:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
(2)代码没错:
Settings.Global.putInt(
context.getContentResolver(),
Settings.Global.AIRPLANE_MODE_ON, 1);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", true);
context.sendBroadcast(intent);
我知道该应用需要作为系统应用安装,所以我在/ system / app / my-app /下安装(我试过/ system / priv-app / my-app / too )并将所有权限添加到文件夹和apk。
我尝试的最后一件事是在AndroidManifest.xml中包含 android:sharedUserId =&#34; android.uid.system&#34; ,但这样做会消失。< / p>
在所有这些尝试之后,我在这里错过了什么?
ps:设备已植根。
提前致谢
答案 0 :(得分:-1)
似乎虽然飞行模式已根据Android development documentation从API级别17变为常量值。
为什么要打开飞机模式?您是否正在尝试完成某项功能?
我会在评论中发布此内容,但我没有足够的代表... tfw