0

我正在开发 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);

请解决我的问题谢谢

4

0 回答 0