onActivityResult处理facebook和twitter登录

时间:2016-08-01 03:19:37

标签: android facebook twitter

在facebook中,我要求:

 protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}

在Twitter中,我要求:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Pass the activity result to the login button.
    loginButton.onActivityResult(requestCode, resultCode, data);
}

如何组合它们,以及onActivityResult用于什么?告诉按钮文本更改为“:logout”?

2 个答案:

答案 0 :(得分:4)

您可以做的是在 requestCode

上识别onActivityResult

请参阅此Twitter Request code

的链接
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == TwitterAuthConfig.DEFAULT_AUTH_REQUEST_CODE){
        //  twitter related handling
    }else{
       // facebook related handling
    }
}

答案 1 :(得分:1)

不,这是执行应用程序调用的Intent后调用的方法。例如,Facebook登录是由您的应用程序启动的,此方法会因为Facebook登录失败而被调用(失败,取消等)。执行intent时,您可以将请求代码传递给Intent参数,然后将相同的请求代码传递给此onActivityResult方法。您可以使用此请求代码来确定哪些结果是从(从Facebook或Twitter或其他人那里收到的意图数据。