我试图用这个例子登录 twitter:
http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/
我的问题是在浏览器登录完成后。它重定向到我的主要活动,而不是
我调用登录方法的活动。因此,我没有得到用户
来自用户的 AccessToken。
这是来自我的清单:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="oauth" android:host="t4jsample"/>
</intent-filter>
我的登录方法:
private void loginToTwitter() {
// Check if already logged in
if (!isTwitterLoggedInAlready()) {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);
Configuration configuration = builder.build();
TwitterFactory factory = new TwitterFactory(configuration);
twitter = factory.getInstance();
try {
requestToken = twitter
.getOAuthRequestToken(TWITTER_CALLBACK_URL);
this.startActivityForResult(new Intent(Intent.ACTION_VIEW, Uri
.parse(requestToken.getAuthenticationURL())), TWITER);
} catch (TwitterException e) {
e.printStackTrace();
}
} else {
// user already logged into twitter
Toast.makeText(getApplicationContext(),
"Already Logged into twitter", Toast.LENGTH_LONG).show();
}
}
我的回调地址
static final String TWITTER_CALLBACK_URL = "oauth://t4jsample";
感谢您的帮助:)