Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE

22,835

For little info:

Use this Permission first..

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

further info: Just check this conversation

Share:
22,835
Mule
Author by

Mule

Updated on December 11, 2020

Comments

  • Mule
    Mule over 3 years

    I am trying to programmatically set the aeroplane mode on.

    Settings.System.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
    
    Intent aeroPlaneIntent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
    aeroPlaneIntent.putExtra("state", true);
    context.sendBroadcast(aeroPlaneIntent);
    

    Setting the Global.AIRPLANE_MODE_ON is failing as if I check the status it returns 0 (OFF)

    Trying to broadcast the intent it raises the following exception:

    03-12 07:01:18.747: E/AndroidRuntime(1579): java.lang.RuntimeException: Unable to start receiver com.example.toggleaeroplanemode.AeroplaneModeReceiver: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=1579, uid=10050
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2431)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ActivityThread.access$1500(ActivityThread.java:141)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1332)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.os.Handler.dispatchMessage(Handler.java:99)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.os.Looper.loop(Looper.java:137)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ActivityThread.main(ActivityThread.java:5103)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at java.lang.reflect.Method.invokeNative(Native Method)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at java.lang.reflect.Method.invoke(Method.java:525)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at dalvik.system.NativeStart.main(Native Method)
    03-12 07:01:18.747: E/AndroidRuntime(1579): Caused by: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=1579, uid=10050
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.os.Parcel.readException(Parcel.java:1431)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.os.Parcel.readException(Parcel.java:1385)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:2224)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ContextImpl.sendBroadcast(ContextImpl.java:1046)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:344)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:344)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at com.example.toggleaeroplanemode.AeroplaneModeReceiver.onReceive(AeroplaneModeReceiver.java:31) 
    03-12 07:01:18.747: E/AndroidRuntime(1579):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2424)
    03-12 07:01:18.747: E/AndroidRuntime(1579):     ... 10 more
    

    Is there a way to set the airplane mode ON/OFF? Please help

  • CommonsWare
    CommonsWare over 10 years
    Note that only apps installed on the system partition (e.g., by rooted device users) or by apps signed by the signing key that signed the firmware. Ordinary SDK apps cannot modify the state of airplane mode.
  • Mule
    Mule over 10 years
    Thank you for your help. Sorry I had that permission set, I should have mentioned it. But the conversation you pointed out it was very helpful. It looks like following this path will lead me nowhere as Intent.ACTION_AIRPLANE_MODE_CHANGED is a protected intent.
  • yasinkafadar
    yasinkafadar over 9 years
    In Android 5.0 when i trying to send broadcast (ACTION_AIRPLANE_MODE_CHANGED), i got a security exception. I put all requried permissions and my application is a system application.
  • MaxF
    MaxF almost 7 years
    Permission android.permission.WRITE_SETTINGS is not a changeable permission type