APP集成微信支付与支付宝SDK在oppo手机上支付后回调无法启动Activity

本文仅做单纯的记录(所以排版也很乱),防止以后忘记

当在APP中集成微信支付或支付宝SDK时,通常会在支付完成后的微信支付或支付宝回调中处理自己APP的业务逻辑。

特别注意

如果在回调中启动一个singleTask(其它启动模式的没试过,估计也一样)的Activity的话,在OPPO的手机某些型号手机上会失败(未记录具体型号),失败的意思是:虽然代码执行了,但Activity并没有被启动起来(至少从手机上看是没有显示出被启动的Activity,没看过任务栈的情况)

折腾了N个小时,查遍无数资料后,偶然在贴吧看到这么一句话,

福音.png

一试,果然如这位老哥说的一样可以启动Activity了(黑人问号脸.jpg)

解决方案:如果要启动TestActivity,则延迟500毫秒(未准确测算最佳延迟时间):

Intent intent = new Intent(context, TestActivity.class);
new Handler().postDelayed(() -> context.startActivity(intent), 500);

你可能感兴趣的:(APP集成微信支付与支付宝SDK在oppo手机上支付后回调无法启动Activity)