我正在尝试在 Android 上打开飞机模式,但收到以下消息:
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/ )并添加了所有对文件夹和 apk 的权限。
我尝试的最后一件事是在 AndroidManifest.xml 中包含android:sharedUserId="android.uid.system",但是这样做应用程序会消失。
在所有这些尝试之后,我在这里错过了什么?
ps:设备已root。
提前致谢