2016-04-19 3 views
0
permission denial 

Mein Aktivitätscode istHey, ich bin einfach nur Code in Android und immer Fehler Permission Denial gestartet: nicht Broadcast in Android senden erlaubt

boolean isEnable= Settings.System.getInt(getContentResolver(),Settings.System.AIRPLANE_MODE_ON,0)==1; 
Settings.System.putInt(getContentResolver(),Settings.System.AIRPLANE_MODE_ON,isEnable?0:1); 
intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
intent.putExtra("state",!isEnable); 
sendBroadcast(intent); 
+0

und die Erlaubnis i in android.manifest.xml liefern sind

Antwort

1

Das liegt daran, dass gewöhnliche SDK-Anwendungen nicht ACTION_AIRPLANE_MODE_CHANGED Sendungen schicken . Wenn Sie betrachten, werden Sie sehen:

Dies ist eine geschützte Absicht, die nur vom System gesendet werden kann.

Beachten Sie auch, dass Ihre AIRPLANE_MODE_ON Zeug may not work on API Level 17 (Android 4.2) or higher devices.

Und beachten Sie, dass gewöhnliche SDK-Anwendungen die WRITE_SETTINGS Berechtigung nicht halten können. Wenn Sie Ihr eigenes benutzerdefiniertes Android-ROM erstellen, können Sie Apps besitzen, die diese Berechtigung in diesem ROM enthalten.

+0

Danke für die Antwort Also, wie kann ich es auf API Level 17 oder höheren Geräten verwenden? –

+0

@abhibhardwaj: AFAIK, können Sie nicht. AFAIK, 'Settings.Global' (wo' AIRPLANE_MODE_ON' verschoben wird) benötigt 'WRITE_SETTINGS', was gewöhnliche SDK-Apps nicht halten können. – CommonsWare

+0

Okay danke Sir –

Verwandte Themen