我需要在我的自助服务终端应用程序中禁用飞行模式,我尝试使用下面的代码段来覆盖设备设置
try {
int airplane = Settings.System.getInt(getApplicationContext().getContentResolver(), "airplane_mode_on");
if (airplane == 1) {
getApplicationContext().sendBroadcast(new Intent("android.intent.action.AIRPLANE_MODE").putExtra("state", false));
}
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
这个代码似乎适用于Android 4.0版,而在4.1及以上版本中它不起作用.我希望通过生根设备来访问系统设置.
实际上我的任务是从nexus平板电脑的状态栏中禁用飞行模式功能.让我知道有关这些建议的任何建议.
最佳答案 对于Android< = 4.1:
static boolean getAirplaneMode(Context context)
{
return Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) != 0;
}
static void setAirplaneMode(Context context, boolean mode)
{
if (mode != getAirplaneMode(context))
{
Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, mode ? 1 : 0);
Intent newIntent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
newIntent.putExtra("state", mode);
context.sendBroadcast(newIntent);
}
}
对于Android 4.2,请查看Modify AIRPLANE_MODE_ON on Android 4.2 (and above)