android 4.2 系统以后的飞行模式_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > android 4.2 系统以后的飞行模式

android 4.2 系统以后的飞行模式

 2017/5/2 5:33:28  ganchuanpu  程序员俱乐部  我要评论(0)
  • 摘要:Android4.2之后系统不予许第三方软件去设置飞行模式,除非你的app是系统应用,得到了root权限//获取当前的飞行模式状态需要根据不同的Android版本进行修改@SuppressWarnings("deprecation")publicbooleanisAirplaneModeOn(){//4.2以下if(Build.VERSION.SDK_INT<Build.VERSION_CODES.JELLY_BEAN_MR1){returnSettings.System.getInt
  • 标签:android 模式

Android 4.2 之后 系统不予许第三方软件去设置飞行模式,除非你的app是系统应用,得到了root权限

class="brush:java;gutter:true;">//获取当前的飞行模式状态  需要根据不同的Android版本进行修改
@SuppressWarnings("deprecation")
public boolean isAirplaneModeOn() 
 {
  //4.2以下
     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) 
     {
         return Settings.System.getInt(getContentResolver(), 
                 Settings.System.AIRPLANE_MODE_ON, 0) != 0;          
     } 
     else //4.2或4.2以上
     {
         return Settings.Global.getInt(getContentResolver(), 
                 Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
     }   
  }

  

//设置飞行模式
@SuppressWarnings("deprecation")
public void setAirplaneModeOn(boolean isEnable) 
  {  
  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) 
     {
  Settings.System.putInt(getContentResolver(),  
                          Settings.System.AIRPLANE_MODE_ON,isEnable ? 1:0);  
     }
  else //4.2或4.2以上 
     {
  Settings.Global.putInt(getContentResolver(), Global.AIRPLANE_MODE_ON, isEnable? 1 : 0);  
     }  
  Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);  
  intent.putExtra("state", isEnable);  
  sendBroadcast(intent); 
}  

  

  需要注意的是,在4.2上其实App是没有权限修改Setting.Global的,解决办法是把你的App放到系统的system/app目录下,然后install。这样一来,App成为system app,可以获得写Setting.Global的权限。。

 
发表评论
用户名: 匿名