我正在开发Android应用程序,其中我想自动从振铃模式更改配置文件到飞机模式。应用程序在Android 2.3到4.2上工作正常,但不能在4.4 kitkat上工作。 Logcat显示此错误
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid
我已添加以下权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
但在4.4
中也会出现同样的问题错误指向此代码
Airplane_mode(false);
//
public void Airplane_mode(boolean isEnabled) {
if (isEnabled) {
Settings.System.putInt(this.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 1);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", isEnabled);
sendBroadcast(intent);
} else if (!isEnabled) {
Settings.System.putInt(this.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0);
Settings.System.putInt(this.getContentResolver(),
Settings.System.AIRPLANE_MODE_RADIOS, 1);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", isEnabled);
sendBroadcast(intent);
}
}
//
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", isEnabled);
sendBroadcast(intent);
请解决我的问题谢谢