美文网首页
Android授权app源码函数微解读二

Android授权app源码函数微解读二

作者: Guoke24 | 来源:发表于2018-12-05 20:59 被阅读0次

    参考:
    Android (6.0) M 请求权限

    (5)简单说下请求权限的流程
    App-->Activity.requestPermissions-->然后startActivityForResult-->然后调到PackageInstaller里面的GrantPermisslonsActivity,然后show给用户看,你需要不需要申请权限。如果同意->就调用PMS的grantRuntimePermission获取到权限并且调用setResuletAndFinsh函数CallBack返回给
    App--app只要需要在Activity中重写OnRequestPermissionResult方法。
    (2)Activity Intent的内容Action就是ACTION.Request_permissionS 数据包就是permission.name

    6.Apk安装时会判断权限类型,对于dangerous的权限,会判定为runtimePermission,安装时不会对User赋予此权限.
    其他类型的权限,则安装时赋予给所有的User
    grantPermissionsLpw --获取权限的接口
    -writeRuntimePermissionsForUserLpr 写入xml
    对应的runtime-permissionos.xml 每个user维护一份

    com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java

    getPackageManager().updatePermissionFlags
    

    com/android/server/pm/PackageManagerService.java
    中发现的另一组调用链

    updatePermissionFlags --> mSettings.writeRuntimePermissionsForUserLPr(userId, false)
    

    还有一个类,com/android/server/pm/DefaultPermissionGrantPolicy.java,应该是给系统APP默认授权的。

    相关文章

      网友评论

          本文标题:Android授权app源码函数微解读二

          本文链接:https://www.haomeiwen.com/subject/zrqgcqtx.html