关于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,已经登录成功呢?

0
0

傅猿猿

2018-01-14

其实是打开的一瞬间关闭了,不过其实很多APP的做法是干脆就在wxentryactivity里写一些展示逻辑,这样其实也是比较好的

0
2
全是甘货
排版太差了,我上面给您的回复,已经重新在您的回答下面原文整理了一下排版,请看上面的第二个回答,是我的问题。
2018-01-15
共2条回复

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程