我正在编写一款Android应用程序,需要在特定时间段内禁用手机的信号,并需要重新启用信号。请问有人可以帮助我吗?
提前感谢。
您好,感谢以下答案,这适用于虚拟设备。但是在真实设备(三星Galaxy y)上无法工作:(,请问为什么呢?
我正在编写一款Android应用程序,需要在特定时间段内禁用手机的信号,并需要重新启用信号。请问有人可以帮助我吗?
提前感谢。
您好,感谢以下答案,这适用于虚拟设备。但是在真实设备(三星Galaxy y)上无法工作:(,请问为什么呢?
试试这个:
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);
}
};
});
看看这个页面
http://dustinbreese.blogspot.com/2009/04/andoid-controlling-airplane-mode.html
// 切换飞行模式。
Settings.System.putInt(
context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);
// 发送一个重新加载意图。
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);
where isEnabled is whether airplane mode is enabled or not.