Is there a way to disable or enable Flight Mode on Android 4.2?
I use this code that works only for previous Android versions:
android.provider.Setti
There exist a simple workaround on rooted devices.
To enable Airplane Mode the following root shell commands can be used:
settings put global airplane_mode_on 1
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true
To disable Airplane Mode these root shell commands can be used:
settings put global airplane_mode_on 0
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
Info taken from here
Disclaimer: This info is provided "as-is" without any form of warranty.
This is no longer possible, except by apps that are signed by the firmware signing key or are installed on the system partition (typically by a rooted device user).
You can't, as written in Official Android 4.2 API Documentation
Some device settings defined by
Settings.System
are now read-only. If your app attempts to write changes to settings defined inSettings.System
that have moved toSettings.Global
, the write operation will silently fail when running on Android 4.2 and higher. Even if your value forandroid:targetSdkVersion
andandroid:minSdkVersion
is lower than 17, your app is not able to modify the settings that have moved toSettings.Global
when running on Android 4.2 and higher.
However, if you are the OS Developer, you can write it when you set these permissions
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
Then to write and read,
// To Write
Settings.Global.putString(getContentResolver(), "airplane_mode_on", "1");
// To Read
String result = Settings.Global.getString(getContentResolver(), Settings.Global.AIRPLANE_MODE_ON);
Toast.makeText(this, "result:"+result, Toast.LENGTH_SHORT).show();
For KitKat, you have to add android:sharedUserId="android.uid.system"
in manifest file.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.airplanesetting"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system" >