如何在API上以编程方式在Android上打开airplanemode

时间:2016-08-30 20:01:41

标签: java android apk system airplane

我试图在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:设备已植根。

提前致谢

1 个答案:

答案 0 :(得分:-1)

似乎虽然飞行模式已根据Android development documentation从API级别17变为常量值。

为什么要打开飞机模式?您是否正在尝试完成某项功能?

我会在评论中发布此内容,但我没有足够的代表... tfw