1.通过系统签名获取权限

定制系统中,可以通过源码的签名文件对应用进行签名,在应用的AndroidManifest.xml中配置好参数,如图

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
coreApp="true"
package="com.xxx.xxx"
android:sharedUserId="android.uid.system"
android:versionCode="1"
android:versionName="1.0">

<uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
添加 android:sharedUserId=“android.uid.system”,然后将需要的敏感权限或系统级权限列出。
1.如果是将apk或app代码放在系统源码中编译可自动签名。
2.在源码的build\target\product\security将签名文件拷出,同时在out\host\linux-x86\framework目录将signapk.jar文件拷出,放在同一个文件夹下

,修改 sign.bat处理文件,例如:

java -jar signapk.jar platform.x509.pem platform.pk8 签名前.apk .\签名后.apk
分别编辑对应的apk名称,和签名后的名称,完成后双击运行sign.bat,就会生成签名后的apk。

2.通过targetSDKVersion来静态获取敏感权限

Android6.0以后权限分为普通权限normal permission 和危险权限dangerous permission
将targetSDKVersion 设置到 23 以下 可在安装时就获取权限,对于部分定制系统(电视盒子,车载系统等)的应用来说,动态获取权限是比较不方便和不理想的,在对新API接口依赖不大的应用采用这样的方式可以方便第三方开发商调试。

Normal Permission:写在xml文件里,那么App安装时就会默认获得这些权限,即使是在Android6.0系统的手机上,用户也无法在安装后动态取消这些normal权限,这和以前的权限系统是一样的,不变。

Dangerous Permission:还是得写在xml文件里,但是App安装时具体如果执行授权分以下几种情况:

1、targetSDKVersion < 23 & API(手机系统) < 6.0 :安装时默认获得权限,且用户无法在安装App之后取消权限。
3、targetSDKVersion < 23 & API(手机系统) >= 6.0 :安装时默认获得权限,但是用户可以在安装App完成后动态取消授权( 取消时手机会弹出提醒,告诉用户这个是为旧版手机打造的应用,让用户谨慎操作 )。
2、targetSDKVersion >= 23 & API(手机系统) < 6.0 :安装时默认获得权限,且用户无法在安装App之后取消权限。
4、targetSDKVersion >= 23 & API(手机系统) >= 6.0 :安装时不会获得权限,可以在运行时向用户申请权限。用户授权以后仍然可以在设置界面中取消授权,用户主动在设置界面取消后,在app运行过程中可能会出现crash。

对于部分系统权限,需要在源码中进行修改权限等级或权限功能,然后在列表中列出。

来源:https://blog.csdn.net/qq_33826580/article/details/88117057

转载于:https://www.cnblogs.com/qynprime/p/10977795.html

android默认获取敏感权限相关推荐

  1. android编译系统root权限,Android系统获取ROOT权限后能做些什么?

    Android的设备Root了以后可以做些什么特别的操作呢?今天刷机之家小编为大家简述Root以后最实用的几种用途. 在了解Root的用途之前,我们先来简单看看Android的Root是什么. And ...

  2. android 手机获取 root 权限

    为了让android 手机获取root权限,需要经历以下几个步骤. 手机解锁 现在大部分的手机在出厂时都锁定了bootloader,需要在官网上申请解锁,以小米为例,解锁网址.解锁的具体教程不在此详述 ...

  3. android apk获取root权限执行相应的操作 demo调试

    在apk中,有时候需要root权限,例如通过apk更新系统库等system的文件等,避免升级固件,或者在apk中需要直接访问某些设备等.下面是在apk中获取root权限的方法,前提是设备已经root过 ...

  4. android apk获取权限,Android apk 获取系统权限的方式

    Android系统中,权限等级分为 ["normal" | "dangerous"| "signature" | "signatu ...

  5. android应用获取通知栏权限

    android应用获取手机是否有通知栏的权限: package com.jibo.health.views; import android.app.AppOpsManager; import andr ...

  6. Android程序获取root权限问题的最终解决与分析

          为了方便给出上一篇上一篇地址:  http://blog.csdn.net/up1up2up3/article/details/7380651,调了几天这个root权限获取问题终于搞定了, ...

  7. android 执行shell root权限,Android App 获取root权限后,执行shell命令

    背景: 做一个应用,需求是获取root权限后可以停用/启用某些应用,包括系统应用!停用的应用将不在设置-->应用中展示,大部分系统自带的桌面应该也不会再显示! 如果是用menifest.xml中 ...

  8. Android手机获取相机权限终极大招(兼容国产手机小米华为魅族以及6.0以下系统)

    对于6.0以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装,造成了我们想要使用某个app,就要默默忍受其一些不必要的权限(比如是个app都要访问通讯录.短 ...

  9. android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...

    1.添加权限--6.0之后要动态获取,下面会说 2.直接上代码,不多说,代码中注释很详细. private static final int BAIDU_READ_PHONE_STATE = 100; ...

最新文章

  1. 修改hosts文件不需要重启的方法
  2. 【模板】AC自动机(简单版)
  3. Android中Application类用法
  4. 机器学习(三十五)——Actor-Critic, Integrating Learning and Planning(1)
  5. 使用 NetCoreBeauty 优化 .NET CORE 独立部署目录结构
  6. Echarts地图编写
  7. 动态更新纹理闪烁问题
  8. 飞鸽传书,,尼玛察部,大地一片生机
  9. Java序列化的这三个坑千万要小心
  10. 如何在虚拟linux环境运行python_linux下使用virtualenv虚拟独立python环境
  11. 快看这个机器人,在使用双截棍!| 附正经paper
  12. 关于vue2用vue-cli搭建环境后域名代理的http-proxy-middleware解决api接口跨域问题
  13. zynq开发系列4:MIO按键中断控制LED
  14. (计算圓柱体的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱的体积
  15. 英语听力计算机教室,每日英语听力电脑版|每日英语听力 v9.2.0 PC客户端
  16. 海康威视摄像头rtsp地址
  17. 视频播放器的html代码(二)
  18. Pytest(17)运行未提交的git(pytest-picked)
  19. 2020-10-2 大二2020下训练三
  20. [week2]每周总结与工作计划

热门文章

  1. MariaDB 双主复制的配置
  2. TestNg依赖详解(三)------灵活的文件配置依赖
  3. VS.NET 2003 安装问题
  4. [导入]Dreamweaver插入Flash参数
  5. kafka的四种checkpoint(没有整理完)
  6. Python in worker has different version 3.7 than that in driver 3.6
  7. Hive引擎改为Tez笔记
  8. git add失效问题以及git status结果与github网页结果不一致(转载+自己整理)
  9. colab中安装lightgbm的GPU版本
  10. ubuntu linux下面运行《暗黑破坏神2》和英雄无敌3-死亡阴影