请支持原作者 : [android系统权限SET_PREFERRED_APPLICATIONS怎么获取(http://blog.csdn.net/hfgerr/article/details/8660802)

标签: android 权限permission
2013-03-11 20:29 7517人阅读 评论(2) 收藏 举报

分类:
android**

版权声明:本文为博主原创文章,未经博主允许不得转载。

最近自己写个demo,需要用到SET_PREFERRED_APPLICATIONS权限在网上找了半天,大概有两种方式:1、 将手机root后,把apk强行push到system/app目录下,重启手机2、SET_PREFERRED_APPLICATIONS是系统权限,需要有系统的shareUserID和签名第一种尝试过,不行第二种方式,因为用的是自己公司的手机,知道一种shareUserId和签名,但是发现只有一部手机可用,其他手机都不能用提示错误:Java.lang.SecurityException: Neither user 10020 nor current process has Android.permission.SET_PREFERRED_APPLICATIONS那么在心里产生几个疑问:1、 系统签名 的作用是什么,最主要的作用是为了获取系统权限?假如是的话,那么我所知道的shareUserId和签名应该权限不够,不足以获取到SET_PREFERRED_APPLICATIONS 权限2、 root之后将第三方签名的apk,强行push到system/app目录下和安装在data/app有什么不同?据我了解拥有系统签名和shareUserId的apk会安装在system/app目录下,那么没有系统签名的apk安装到system/app目录下功能是否和拥有系统签名和shareUserId的apk安装后的功能一样?3、 比如说静默安装,需要系统权限吧(具体什么权限我也不知道,后续去google),想360手机助手、 豌豆夹等市场都有在手机root之后可以实现静默安装的功能,那么它们的系统权限(静默安装)是怎么获取的?(为了获取SET_PREFERRED_APPLICATIONS,我特意将手机root,但运行有发现也没有弹框请求权限)

hfgerr (

)  发表于:2013-02-21 11:11:04 1 楼
今天Google了下,又学到知识了android权限等级分为四种:["normal" | "dangerous" | "signature" | "signatureOrSystem"]其中normal 和dangerous是一般apk都在Mainifest中声明即可获取的signature必须要有系统级别的签名才能够获取到signatureOrSystem 有系统级别签名或者有系统权限系统权限应该是安装在/system/app的apk获取,(而具有系统级别的签名也会安装在/system/app目录下,)如果要用到第三种 "signature"权限,那么即使你root之后强制吧apk push到/system/app目录下重启手机后也是无法获取到该权限的(这种方式可以获取到第四种权限"signatureOrSystem",具体权限3和4之间是交集关系还是包含关系,我也没弄懂 :( )现在我怀疑 SET_PREFERRED_APPLICATIONS 权限属于 第三种--"signature" 权限,必须得有系统的签名才能获取,我想验证下我猜想的是否正确,但苦于现在还没找到如何查看 SET_PREFERRED_APPLICATIONS 权限等级办法

hfgerr (

)  发表于:2013-02-21 15:18:21 2 楼
终于找到了查看permission 具体信息的方法了在Android源码 frameworks/base/core/res /AndroidManifest.xml中Java code
?

果然 SET_PREFERRED_APPLICATIONS 等级为 signature PS:1、 静默安装也可通过获取root权限,然后再代码中通过调用执行命令行的语句:pm install /sdcard/**.apk 来实现,2、 安装需要的权限:android.permission.INSTALL_PACKAGES 经过查实 等级确实为signature|system,也就是说在无系统签名的情况下,强制将apk, push到/system/app 目录下也可以获取该权限

更多相关文章

  1. android 获取路径目录方法以及判断目录是否存在,创建目录
  2. Android(安卓)学习笔记 Contacts (二)Contacts 联系人详解
  3. Android(安卓)调用系统相机 失败
  4. 获取Android设备唯一标识(唯一序列号)
  5. Android中调试获取Log
  6. Android(安卓)程序获取、设置铃声、音量、静音、扬声器
  7. Android亮灭屏功能实现
  8. Android实现网络图片查看器和网页源码查看器
  9. Android(安卓)layout系列-autolayout

随机推荐

  1. Android(安卓)实用工具Hierarchy Viewer
  2. Android开发指南 ──应用程序基础
  3. 我是如何自学Android,资料分享(2015 版)
  4. Android(安卓)mvp 架构的自述
  5. Android(安卓)实用工具Hierarchy Viewer
  6. Android实现带箭头的自定义Progressbar
  7. 想抢先体验Android操作系统的魅力吗?那就
  8. 【Android的从零单排开发日记】之入门篇(
  9. 从源码角度分析Android中UID与GID的分配
  10. Android高手进阶教程(二十三)之---Androi