同样开发飞行模式,需要在先要在AndroidManifest.xml里加入权限
<!-- WRITE_SETTINGS:开发飞行模式时添加 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" /><!-- 允许程序读取或写入系统设置 -->
然后再代码中实现:
/**
*打开飞行模式
*/
public void openAirplane()
{
setAirPlane(true);
}
/**
* 关闭飞行模式
*/
public void closeAirplane()
{
setAirPlane(false);
}
/**
* 设置飞行模式状态
* @param setAirPlane
*/
protected void setAirPlane(boolean setAirPlane) {
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, setAirPlane ? 1 : 0);
//等同于
//Settings.System.AIRPLANE_MODE_ON, setAirPlane);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", setAirPlane ? 1 : 0);
//等同于
//intent.putExtra("state", setAirPlane);
context.sendBroadcast(intent);
}网上有资料说“putExtra("state", true);”里的"true"用的是“1”,有的手机用1可以,但有的手机不行。我在手机测试时
都可以,具体没去深究,能实现就行。
简单的一个打开关闭飞行模式的代码就搞定了。具体可以参考:
http://bbs.gfan.com/thread-1996857-1-1.html
http://android.tgbus.com/Android/tutorial/201108/363722.shtml
note:这两个资料都没有添加权限的设置,自己注意。