你好我在twitter上使用auto。
我的代码工作得很好,直到我将访问权限从“只读”更改为“读写”。
我的问题是,点击网页上的“登录”后,它不会回到我的应用程序。
我读到了它,我知道它的回调网址。
这是我的代码:
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>
我的推特设置页面:
感谢帮助
答案 0 :(得分:0)
在您的情况下,您需要在应用程序中显示,而不是外部浏览器应用程序,在Android中使用WebView后,创建自定义Web客户端,如:
private class CustomWebClient extends WebViewClient {
...
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
}
}
并设置为WebView:
webView.setWebViewClient(new CustomWebClient());
在方法shouldOverrideUrlLoading
中,您需要跟踪回调网址。