有没有一种方法能在Android 4.2禁用或启用飞行模式?
我用这个代码,只对以前的Android版本的作品:
android.provider.Settings.System.putInt(
c.getContentResolver(),
android.provider.Settings.System.AIRPLANE_MODE_ON, enable ? 0 : 1
);
有没有一种方法能在Android 4.2禁用或启用飞行模式?
我用这个代码,只对以前的Android版本的作品:
android.provider.Settings.System.putInt(
c.getContentResolver(),
android.provider.Settings.System.AIRPLANE_MODE_ON, enable ? 0 : 1
);
存在已解锁装置一个简单的解决方法。
为了使飞行模式下根外壳命令可以用来:
settings put global airplane_mode_on 1
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true
要禁用飞行模式这些根外壳命令可以用来:
settings put global airplane_mode_on 0
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
取自信息在这里
免责声明:提供此信息按“原样”没有任何形式的担保。
这不再是可能的,除了通过由固件签名密钥签署或安装在系统分区的应用程序(典型地通过一个为根设备用户)。
你不能像写在官方Android 4.2 API文档
通过定义一些设备设置
Settings.System
现在只读。 如果您的应用程序试图更改写入中定义的设置Settings.System
已经搬到Settings.Global
,在Android 4.2及更高版本上运行时写操作将静默失败。 即使你的价值android:targetSdkVersion
和android:minSdkVersion
是超过17时,你的应用程序是无法修改已移到设置Settings.Global
在Android 4.2及更高版本上运行时。
但是,如果你是OS开发者,你可以写它,当您设置这些权限
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
然后写入和读取,
// 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();
对于奇巧,你必须添加android:sharedUserId="android.uid.system"
清单文件。
<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" >