twitter在登录android后不返回应用程序
你好,我在twitter上使用自动 在我将访问权限从“只读”更改为“读写”之前,我的代码工作得相当好 我的问题是,在点击网页上的“登录”后,它不会返回到我的应用程序 我读过这篇文章,我知道这是关于回调URL的 这是我的密码:twitter在登录android后不返回应用程序,android,twitter,twitter-oauth,twitter4j,Android,Twitter,Twitter Oauth,Twitter4j,你好,我在twitter上使用自动 在我将访问权限从“只读”更改为“读写”之前,我的代码工作得相当好 我的问题是,在点击网页上的“登录”后,它不会返回到我的应用程序 我读过这篇文章,我知道这是关于回调URL的 这是我的密码: static final String TWITTER_CALLBACK_URL = "oauth://t4jsample"; private void loginToTwitter() { // Check if alread
static final String TWITTER_CALLBACK_URL = "oauth://t4jsample";
private void loginToTwitter()
{
// Check if already logged in
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.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
} catch (TwitterException e) {
Toast.makeText(OpeningPage.this, "Something went wrong, please try again", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
我的舱单:
<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:host="t4jsample"
android:scheme="oauth" />
</intent-filter>
我的twitter设置页面:
感谢您的帮助如果您需要在应用程序中显示,而不是在外部浏览器应用程序中显示,请在创建自定义web客户端后在Android中使用WebView,如:
private class CustomWebClient extends WebViewClient {
...
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
}
}
并设置为您的网络视图:
webView.setWebViewClient(new CustomWebClient());
在方法
shouldOverrideUrlLoading
中,您需要跟踪您的回调url。查看此处的twitter集成,它将指导您。如果使用外部浏览器,则无法跟踪浏览器重定向,但如果使用内部浏览器,如上文所述,则可以跟踪所有url,在方法shouldOverrideURL中,您需要添加If查询,如If(url.equals(TWITTER_CALLBACK_url)){},但不可以使用:this.startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse(requestToken.getAuthenticationURL())));使用,查看上面的代码,方法:private void logintottwitter()