我知道这个问题听起来非常相似和重复,但我很震惊。
- 我使用以下方法打开Facebook
,Twitter
和Web-Page
private void showAddDialog(String ur) {
final Dialog nagDialog = new Dialog(this,
android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
nagDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
nagDialog.setContentView(R.layout.airwebview);
final WebView webView = (WebView) nagDialog
.findViewById(R.id.webView_AboutWebsite);
Button mCancelButton = (Button) nagDialog
.findViewById(R.id.button_CancelButton);
mCancelButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
nagDialog.dismiss();
}
});
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings()
.setUserAgentString("silly_that_i_have_to_do_this");
webView.getSettings().setDomStorageEnabled(true);
webView.loadUrl(ur);
nagDialog.show();
}
我能够成功启动Facebook
,other web-sites
,但无法打开 Twitter
网站 - WebView
内的页面。
到目前为止,我已使用以下内容打开Twitter
,但尚未成功:
webView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");
请帮助我理解问题和克服它的解决方案。
答案 0 :(得分:1)
我检查你的代码,在设置了覆盖了shouldOverrideUrlLoading方法的WebViewClient以加载重定向网址后,它在我的手机上工作正常。
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
当我没有添加WebViewClient时,twitter让我重定向到默认的Web浏览器,在我的情况下是Chrome。
检查这是否对您有帮助。