关于onSignInSuccess()和OnResume()的finish()是否会冲突的问题
来源:8-4 通过代码生成器,生成微信登录代码,绕过微信包名限制-2
全是甘货
2018-01-14
那个登录成功后会被微信拉起的WXEntryActivity ,,它是继承WXEntryTemplate的,WXEntryTemplate在onResume的时候就finshi()了,这样WXEntryActivity同样会在onResume的时候就会被finish(),
那我很好奇onSignInSuccess() 是否(准确来讲不是是否,是如何)还会有足够的时间得到执行?
2回答
-
全是甘货
提问者
2018-01-15
谢谢老师的回答,但老师没有正面回答我的问题:
我们一般的理解,Activity启动,是走onCreate,onstart,onResume这三个生命周期的,而
@Override protected void onSignInSuccess(String userInfo) { LatteWeChat.getInstance().getSignInCallback().onSignInSuccess(userInfo); }是我们自己在BaseWXEntryActivity写的抽象方法,是在
onResp() --》getAuth()--》getUserInfo()之后成功了才调用的。
而WXEntryActivity是微信回调的时候拉起的吧,WXEntryActivity被拉起,连带继承的父类WXEntryTemplate/BaseWXEntryActivity的生命周期也会走一遍,是这么一个逻辑吧。
然而到了WXEntryTemplate的onResume的时候,就finish掉了,那么上面所说的onResp()--》getAuth()--》getUserInfo()--》onSignInSuccess()怎么会有足够的时间得到执行呢?是在什么时候执行的呢?我们怎么会能通知到登录的Fragment,已经登录成功呢?
00 -
傅猿猿
2018-01-14
其实是打开的一瞬间关闭了,不过其实很多APP的做法是干脆就在wxentryactivity里写一些展示逻辑,这样其实也是比较好的
022018-01-15
相似问题