Недавно я написал простое приложение для Android для Twitter, чтобы узнать, как работают API Twitter и OAuth.
Основная деятельность приложения просто запрашивает имя пользователя.Затем он вызывает другое действие, которое обрабатывает вызовы API OAuth и Twitter.Он перенаправляет пользователя на страницу авторизации, которая затем возвращается в приложение после завершения работы пользователя.
Раньше он работал нормально, но теперь по какой-то причине, когда я вызываю webview.loadUrl (authorizationURL), НИЧЕГО не происходит,Я никогда не менял ничего, что могло бы повлиять на материал WebView, хотя ... Вот мой код:
@Override
public void onResume() {
super.onResume();
try {
if(weNeedCredentials()) {
obtainCredentials();
}
follow(mUsername);
} catch (OAuthException oae) {
// omitted
}
}
private boolean weNeedCredentials() {
// assume the method returns true
}
private void obtainCredentials() {
final Token requestToken = mOauthService.getRequestToken();
String authUrl = mOauthService.getAuthorizationUrl(requestToken);
// I verified that authUrl is the correct url (and != null)
final WebView oauthView = (WebView) findViewById(R.id.oauthview);
oauthView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(someCondition) {
oauthView.setVisibility(View.GONE);
doOtherStuff();
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
});
oauthView.getSettings().setJavaScriptEnabled(true);
oauthView.loadUrl(authUrl);
}
Вот мой XML-файл макета:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<WebView
android:id="@+id/oauthview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
, а также я включил соответствующие интернет-разрешенияв манифесте.
WebViewCoreThread работает в течение всего срока службы приложения, а WebViewWorkerThread появляется позже, но WebView никогда не появляется (даже белый экран).Приложение никогда не блокирует либо.Он продолжает работать так, как если бы строка loadUrl () была просто закомментирована.
Я протестировал на своем телефоне (Droid X2), а также на эмуляторе, оба с одинаковыми результатами.Любая помощь будет принята с благодарностью.
Заранее спасибо!