如何在同一Activity中实现Google和Facebook登录并解决onActivityResult冲突
同一Activity集成Google、Facebook登录的onActivityResult冲突解决方案
问题说明
在单个Activity内同时接入Google和Facebook登录能力时,会出现两个登录SDK的onActivityResult回调逻辑冲突的问题。
解决方法
只需要在onActivityResult方法内通过requestCode做分支判断即可:提前定义Google登录的请求码RC_SIGN_IN为100,若回调的requestCode等于该值则走Google登录的处理逻辑,其余情况走Facebook的回调逻辑即可。
代码实现
// RC_SIGN_IN = 100 if (requestCode == RC_SIGN_IN) { // 该调用返回的Task永远是完成状态,无需额外绑定监听器 Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data); handleSignInResult(task); } else { callbackManager.onActivityResult(requestCode, resultCode, data); }
内容的提问来源于stack exchange,提问作者VTH PR
相关产品推荐
相关产品推荐

