Android 使用系统限制的权限的apk应安装到 /system/app 目录下

     在 Android 中,如果要使用系统限制的权限(比如 android.permission.WRITE_SECURE_SETTINGS),我们需要把程序安装到 /system/app/ 下

     比如,我写了一个APK ,其中的主 Activity中用到以下代码:

     。。。。

      ContentResolver resolver = context.getContentResolver();
     // 获得gps当前的状态,若为true表示打开, false 为关闭

      boolean assisted_gps_enabled = Settings.Secure.isLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER);

      // 如果关闭, 则打开      

          if(!assisted_gps_enabled) 

               Settings.Secure.setLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER,   true);

      。。。

      然后在AndroidManifest.xml 中声明权限

       

这时,无论通过 adb push 还是 adb install  或者是 之间修改mk文件将apk集成进系统(当然指定到 /data/app下),运行apk是总会报

        java.lang.SecurityException: Permission denial: writing to secure settings requires      android.permission.WRITE_SECURE_SETTINGS

这个错误

       这是因为android.permission.WRITE_SECURE_SETTINGS是系统限制的权限。所以apk需要是系统的apk (/system/app下才可以)。可以把apk 通过 adb push “你的apk” system/app  或者 修改mk文件将其编入system镜像 

你可能感兴趣的:(Android)