好的,现在我可以打开飞行模式(感谢 Stealth Rabbi 在我的另一篇文章中的帮助。AirPlane ToggleButton?)。现在的问题是,当我单击切换按钮关闭飞行模式时,没有任何反应,除了切换按钮从打开切换到关闭但不会改变飞行模式的状态。任何建议都表示赞赏。
-谢谢
好的,现在我可以打开飞行模式(感谢 Stealth Rabbi 在我的另一篇文章中的帮助。AirPlane ToggleButton?)。现在的问题是,当我单击切换按钮关闭飞行模式时,没有任何反应,除了切换按钮从打开切换到关闭但不会改变飞行模式的状态。任何建议都表示赞赏。
-谢谢
您必须广播ACTION_AIRPLANE_MODE_CHANGED Intent以通知系统您更改了设置
好吧,我想通了。'
public void onClick(View v){
context = getApplicationContext();
if (((ToggleButton)v).isChecked()){
boolean isEnabled = Settings.System.getInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1;
if(isEnabled == false)
{
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON,1);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 1);
context.sendBroadcast(intent);
}
}else
{
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON,0);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 0);
context.sendBroadcast(intent);
}
};
});`
在代码的 else 部分,我将数字 1 更改为数字 0。