Android loadUrl(url)不执行任何操作
我最近为Android编写了一个简单的Twitter应用程序,学习Twitter API和OAuth的诀窍 应用程序的主要活动只是要求用户输入用户名。然后它调用另一个处理OAuth和TwitterAPI调用的活动。它将用户重定向到授权页面,然后在用户完成后返回应用程序 它过去工作得很好,但现在由于某种原因,当我调用webview.loadUrl(authorizationURL)时,什么也没发生。但是我从来没有改变过任何会影响WebView的东西。。。这是我的密码:Android loadUrl(url)不执行任何操作,android,webview,thread-safety,Android,Webview,Thread Safety,我最近为Android编写了一个简单的Twitter应用程序,学习Twitter API和OAuth的诀窍 应用程序的主要活动只是要求用户输入用户名。然后它调用另一个处理OAuth和TwitterAPI调用的活动。它将用户重定向到授权页面,然后在用户完成后返回应用程序 它过去工作得很好,但现在由于某种原因,当我调用webview.loadUrl(authorizationURL)时,什么也没发生。但是我从来没有改变过任何会影响WebView的东西。。。这是我的密码: @Override publ
@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将在应用程序的整个生命周期内运行,稍后会弹出WebViewWorkerThead,但不会出现WebView(甚至不会出现白色屏幕)。该应用程序也从不阻塞。它继续运行,就像loadUrl()行被注释掉一样
我在我的手机(DroidX2)和模拟器上进行了测试,结果都是一样的。任何帮助都将不胜感激
提前谢谢
它继续运行,就像loadUrl()行被注释掉一样
它将始终“继续运行,就像将loadUrl()
行注释掉一样”<代码>加载URL()是异步的,不会阻塞
即兴,或者:
正在返回weNeedCredentials()
,或者false
正在替换UI,或follow()
- Twitter正在进行重定向,并且
是someCondition
,因此您正在使true
立即消失WebView
- 正在加载的URL存在问题
follow()
直到页面加载。这很简单。。现在很有魅力。非常感谢!