packageinstaller之权限获取及展现

来源:互联网 发布:网络变压器内部结构 编辑:程序博客网 时间:2024/04/23 19:15

1、源码分析:

Packageinstaller主要是有界面的安装和卸载,先看看源码大概:
这里写图片描述

AndroidManifest.xml里面的组件:
这里写图片描述

先看看PackageInstallerActivity.java文件,在安装的时候,会启动这个Activity,下面是OnCreate函数的代码片段:
这里写图片描述

前面是解析了一大堆APK的信息,后面最主要的调用了initiateInstall函数,下面看看initiateInstall的源代码:
这里写图片描述

前面只检测下是否安装过,紧接着调用startInstallConfirm函数,看下面代码:
这里写图片描述
这里写图片描述

看关键代码行00236,进入AppSecurityPermissions构造函数:
这里写图片描述

看关键代码函数行00294,提取权限信息permSet,这里有不看源码,接着看setPermissions函数:
这里写图片描述

进入行00625:
这里写图片描述

下面是调试打印信息:
这里写图片描述

资源定义在:
这里写图片描述

把信息提取了,下面一步就是显示了,回到第4页的getPermissionsView函数:
这里写图片描述

看函数名就知道什么作用了:displayPermissions
这里写图片描述

关键行00503,最终调用了函数:
这里写图片描述

把要展示的信息设置好,并且对于每一项设置了OnClick,以便查看loadDescription权限的具体描述:
这里写图片描述

2、调试Log:

这里写图片描述

3、效果图:

这里写图片描述

4、流程图:

这里写图片描述

5、第三方:

这里写图片描述
这里写图片描述
这里写图片描述

0 0