之前做微信支付的时候,每次授权微信支付都会跳转到微信的一个支付界面,进行支付。一直以为是打开的一个新的Activity,导致自己的Activity会走onPause和onStop方法,这次由于业务需要,要在每次自己的页面走onRestart方法的时候,进行一次接口的调用;刚开始的时候,很是担心,因为如果是拿到了微信支付的回调,代码中是直接就进行了界面的跳转了,那么这样的话,onRestart中的接口调用不就没意义了吗?对此,专门打印了一下生命周期。重点来了,微信支付走了回调,但是没走onRestart方法!!!what are you 弄啥嘞?什么情况?
之后,把Activity中的生命周期全部都打印了一遍看看,发现跳转支付页面的时候,当前的Activity只走到了onPause方法而没有走onStop方法,那么响应的在支付回调的时候,只会去走onResume方法,而不是onRestart方法!问题终于搞明白了!!!原来跳转微信支付的时候,从界面上来看,我们以为自己的支付界面被盖着了,导致不可见 ,以为会走onStop方法,但是不知道为什么微信支付调起的界面并没有导致我们的界面去走onStop方法,是微信SDK做了什么处理吗?有知道的小伙伴可以留言告知一下哦!