Android5.0 强制打开GPS

测试环境:

               Android5.0+

测试目标:

             强制打开GPS

测试所需必备条件:

        测试APP必须具有ROOT权限,或者是system级别app

关键代码:

       

/**
 * mode can be one of:
 * android.provider.Settings.Secure.LOCATION_MODE_HIGH_ACCURACY
 * android.provider.Settings.Secure.LOCATION_MODE_OFF
 * android.provider.Settings.Secure.LOCATION_MODE_SENSORS_ONLY;
 * android.provider.Settings.Secure.LOCATION_MODE_BATTERY_SAVING
 * @param context
 * @param mode
 */
public static void setLocationMode(Context context,int mode) {
   Intent intent = new Intent("com.android.settings.location.MODE_CHANGING");
   int currentMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE,
                                  Settings.Secure.LOCATION_MODE_OFF);
   intent.putExtra("CURRENT_MODE", currentMode);
   intent.putExtra("NEW_MODE", mode);

   Log.e("jerry", "currentMode="+currentMode + " newmode="+mode);
   context.sendBroadcast(intent, android.Manifest.permission.WRITE_SECURE_SETTINGS);
   Settings.Secure.putInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE, mode);
}

ps 清单文件需要配置一些权限,可以先运行代码,报什么错误就配置什么权限即可
 
  
android.provider.Settings.Secure.LOCATION_MODE_OFF     关闭GPS
 
  
android.provider.Settings.Secure.LOCATION_MODE_HIGH_ACCURACY 高精度定位
其它两个不解释了

你可能感兴趣的:(Android5.0 强制打开GPS)