我已经使用twitter4j库在Android应用程序中集成了Twitter
,它可以在Twitter
上发布。
当用户登录然后流回到应用程序时,我处理得很好。在这种情况下,我继续进行状态更新。
但是当用户点击cancel
按钮而不是sign in
时会出现问题。我如何知道该用户点击了cancel
按钮?
答案 0 :(得分:1)
我通过查看回调中传递的Intent解决了这个问题
当用户登录时,Intent包含参数oauth_verifier
,而当用户拒绝通过单击cancel
按钮继续时,Intent包含参数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.
}
}
}