0

我已经Twitter使用 twitter4j 库集成到了 android 应用程序中,并且在Twitter.

当用户登录然后流程回到应用程序时,我处理得很好。在这种情况下,我继续进行状态更新。

但是当用户单击cancel按钮而不是sign in. 我怎么知道用户点击了cancel按钮?

4

1 回答 1

1

我通过查看 Intent 传入回调解决了这个问题。
当用户登录时, Intent 包含一个 parameter oauth_verifier,而当用户通过单击cancel按钮拒绝继续时, Intent 包含一个 parameter denied

// Handle Twitter call back
private void handleTwitterCallBack() {

    Uri uri = getIntent().getData();

    // If got redirected from Twitter page to application
    if (uri != null
            && uri.toString().startsWith(RS_Twitter.TWITTER_CALLBACK_URL)) {

        if (uri.getQueryParameter(RS_Twitter.TWITTER_USER_DENIED) != null) {

            // User denied to sign in

        } else if (uri
                .getQueryParameter(RS_Twitter.TWITTER_OAUTH_VERIFIER_URL) != null) {

            // Intent contains Twitter verifier. User authorized the application.
        }
    }
}
于 2013-07-11T07:33:22.453 回答