美文网首页
广播自定义权限

广播自定义权限

作者: 柴柴777 | 来源:发表于2020-12-24 16:31 被阅读0次
    2020-12-24 15:55:06.564 959-1410/? W/BroadcastQueue: Permission Denial: receiving Intent { act=com.myapp.demo.BGPLUGIN_API_ACTION cat=[com.xxx.mobilepay.RESP_RECEIVER.QueryUi] flg=0x10 (has extras) } to ProcessRecord{ca66416 9084:com.myapp.demo/u0a340} (pid=9084, uid=10340) requires com.xxx.mobilepay.RESP_RECEIVER due to sender com.bg.bgpay (uid 10341)
    

    场景:
    目前我们提供支付插件给第三方app调用,然后,某天突然反馈到一个这样的问题,不知所措,
    后来被反馈

    1.如果先装插件,后装应用,问题不会出现
    2.如果先装应用,后装插件,问题会出现。这能解释问什么有的机器好,有的不好,以及重装应用后就好了
    

    应用安装顺序和安卓权限 引起的问题
    其实归根结底在于我对自定义权限注意点不清楚

    场景:App A中声明了权限PermissionA,App B中使用了权限PermissionA。

    • 情况一:PermissionA的保护级别是normal或者dangerous
      App B先安装,App A后安装,此时App B无法获取PermissionA的权限,从App B打开App A会报权限错误。
      App A先安装,App B后安装,从App B打开App A一切正常。

    • 情况二:PermissionA的保护级别是signature或者signatureOrSystem
      App B先安装,App A后安装,如果App A和App B是相同的签名,那么App B可以获取到PermissionA的权限。如果App A和App B的签名不同,则App B获取不到PermissionA权限。
      即,对于相同签名的app来说,不论安装先后,只要是声明了权限,请求该权限的app就会获得该权限。
      这也说明了对于具有相同签名的系统app来说,安装过程不会考虑权限依赖的情况。安装系统app时,按照某个顺序(例如名字排序,目录位置排序等)安装即可,等所有app安装完了,所有使用权限的app都会获得权限。

    如果对广播权限不清楚可以简单看看 https://www.jianshu.com/p/eaf77fca4fc1
    文章简单明了 我就不写demo 直接记录在这了

    至少以后再遇到就知道了

    相关文章

      网友评论

          本文标题:广播自定义权限

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