一、问题描述
昨天测试的同学说华为P20,Android10的系统无法调用微信小程序支付,但是却可以调用起微信支付,这个奇怪的现象。
二、产生原因
最后发现产生这个现象的原因是Android10系统加强对用户权限控制导致的。因为Android10系统增加了从后台弹出Activity的限制。需要开权限才可以。主要印象的场景大概是:系统收到通知,自动打开某个Activity,类似点击一个按钮调用微信支付等场景。
三、可参考的解决方案
1.如果是微信小程序支付:需要开启微信的“浮窗”和“允许在其他上层应用上打开”这两个权限。可以在某个场景的入口处直接提醒用户打开。
2.如果是收到通知弹出某个Activity的场景,则除了上述解决方式外还可以通过通过全屏Intent的方式替换从后台弹出Activity(这也是google比较推荐的一种方式)