1

现在,当我按下特定按钮时,它会启动将网页打开到 webView 中的意图,但它会打开浏览器应用程序,显示不是我想要的地址栏。

在做了一些研究之后,我发现我可以使用 shouldOverrideUrlLoading() 方法来阻止这种情况的发生,只需在 webView 中打开页面,但我不知道如何在我的代码中实现这个方法,非常感谢帮助!

这是我在课堂上打开网页的内容:

public class Codes extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.codes);

    View titleView = getWindow().findViewById(android.R.id.title);
    if (titleView != null) {
      ViewParent parent = titleView.getParent();
      if (parent != null && (parent instanceof View)) {
        View parentView = (View)parent;
        parentView.setBackgroundColor(Color.rgb(228, 108, 10));
      }
    }

    WebView codes = (WebView)findViewById(R.id.codesWebView);
    codes.getSettings().setJavaScriptEnabled(true);
    codes.loadUrl("http://dev10.affirmaconsulting.com:24009/keyentry");
    shouldOverrideUrlLoading(codes, "http://dev10.affirmaconsulting.com:24009/keyentry");

    }
}
4

2 回答 2

6

我遇到了同样的问题,页面没有加载到我的 webview 中,而是通过浏览器应用程序加载。我通过实现 WebViewClient 类并覆盖 shouldOverrideUrlLoading 方法解决了这个问题。

    WebViewClient webClient = new WebViewClient()
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView  view, String  url)
        {
            return false;
        }
    };
    webView.setWebViewClient(webClient);

以下链接被证明是有帮助的: http ://www.firstdroid.com/2010/08/05/override-url-loading-in-webview-android-tutorial/

于 2011-09-27T16:46:02.873 回答
2

我们在我们的一项活动中完成了这项确切的任务,并且没有遇到这个问题。这是我们的样子:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.document_viewer_activity);

    WebView wv = (WebView) findViewById(R.id.documentViewerWebview);
    wv.getSettings().setJavaScriptEnabled(true);

    String url = getString(R.string.document_viewer_url) + 
            getIntent().getExtras().getString("media");
    wv.loadUrl(url);

}

布局文件中定义的 webview 如下所示:

  <WebView
        android:id="@+id/documentViewerWebview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
 />

希望这可以帮助。

于 2011-03-10T18:24:02.093 回答