Android 使用支付宝支付时,手机安装了支付宝APP,但是调起支付时,不是直接调起支付宝APP支付,而是调起的SDK里面的H5支付界面(H5PayActivity)。
原因:因为你项目的 targetSdkVersion 大于或等于30时,是无法感知你是否已经安装了支付宝APP,需要提供应用可见性声明。
解决方法:
在你的Androidmanifest.xml 里面添加支付宝可可见性声明
<queries>
<package android:name="com.eg.android.AlipayGphone" /> <!-- 支付宝 -->
<package android:name="hk.alipay.wallet" /> <!-- AlipayHK -->
</queries>
同理:微信支付其实也一样,其他APP也一样(如果在app内部打开外部其他app)
<package android:name="外部其他app包名" />