Android系统对应用程序权限申请的处理方式分析
对Android源代码中的如下文件进行分析:
(1) InstallAppProgress.java:其路径为\packages\apps\PackageInstaller\src\com\android\packageinstaller\InstallAppProgress.java;
(2) PackageInstallerActivity.java:其路径为\packages\apps\PackageInstaller\src\com\android\packageinstaller\PackageInstallerActivity.java;
(3) AppSecurityPermissions.java:其路径为\frameworks\base\core\java\android\widget\AppSecurityPermissions.java
总结得出如下图所示的Android系统对应用程序授权申请的处理流程:
(1) 进入处理应用程序授权申请的入口函数;
(2) 系统从被安装应用程序的AndroidManifest.xml文件中获取该应用正常运行需申请的权限列表;
(3) 显示对话框,请求用户确认是否满足这些权限需求;
(4) 若同意,则应用程序正常安装,并被赋予相应的权限;若否定,则应用程序不被安装。系统仅提供给用户选择“是”或者“否”的权利,没有选择其中某些权限进行授权的权利。