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镜像
更多相关文章
- Android4.1输入子系统框架介绍和性能分析
- 【小米招聘]】Android系统软件测试工程师
- android 串口(serial port)没有权限问题
- Android进阶:实现android系统自带查看照片动画效果 类似Gallery手
- Android系统信息获取 之五:系统语言信息(续)-语言地区和简写对照表
- Android SystemProperties设置/取得系统属性的用法总结
- 在Windows系统上安装与使用Android NDK r5
- Android系统移植(二)-按键移植
- Android UI系统控件进阶(四)—网格视图控件GridView