美文网首页Android 开发技术分享iOS大咖说适配
Android11 微信支付&支付宝支付SDK适配

Android11 微信支付&支付宝支付SDK适配

作者: hao_developer | 来源:发表于2021-02-20 16:11 被阅读0次

    问题描述

    微信支付和支付宝支付SDK在Android11的手机上无法获取到对应APP的包名,从而判断本机未安装对应的APP,导致在支付时无法唤起微信/支付宝APP支付。

    问题分析

    原因是Android11 APP的包可见性发生变化,APP要获取第三方包名的话,需要提前配置:

    Android 11 中的软件包可见性
    Android 11 更改了应用查询用户已在设备上安装的其他应用以及与之交互的方式。使用 元素,应用可以定义一组自身可访问的其他软件包。通过告知系统应向您的应用显示哪些其他软件包,此元素有助于鼓励最小权限原则。此外,此元素还可帮助 Google Play 等应用商店评估应用为用户提供的隐私权和安全性。
    如果您的应用以 Android 11 或更高版本为目标平台,您可能需要在应用的清单文件中添加 元素。在 元素中,您可以按软件包名称、intent 签名或提供程序授权指定软件包。
    https://developer.android.google.cn/about/versions/11/privacy/package-visibility

    解决方案

    <manifest ...>
        <queries>
            <!-- com.blankj.utilcode SDK检测虚拟机-->
            <intent>
                <action android:name="android.intent.action.DIAL" />
            </intent>
    
            <!-- 微信支付SDK-->
            <package android:name="com.tencent.mm" />
            <!-- 支付宝支付SDK-->
            <package android:name="com.eg.android.AlipayGphone" />
        </queries>
    
        <application ...>
            ... 
        </application>
    
    </manifest>
    

    相关文章

      网友评论

        本文标题:Android11 微信支付&支付宝支付SDK适配

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