如何打开具有特定设置的URL?

时间:2013-03-05 01:02:03

标签: android android-intent android-webview android-websettings

大家好。

这是我的代码。我在我的应用中创建了一个菜单。其中一个项目正确打开了一个URL。但我想使用此WebViewWebSettings中打开该网址。但它不起作用。

public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
    case WEBSITE:
        Toast.makeText(Activity.this, "About", Toast.LENGTH_SHORT).show();
        Uri uri = Uri.parse("http://www.english.com/about");
        Intent it = new Intent(Intent.ACTION_VIEW,uri);
        WebView web = new WebView(this);
        WebSettings webSettings = web.getSettings();
        webSettings.setSavePassword(false);
        webSettings.setSaveFormData(false);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(false);
        startActivity(it);
        return true;

这些网页设置不起作用。

2 个答案:

答案 0 :(得分:2)

启动浏览器查看网页意味着您需要自己操作,但浏览器会显示网址,而您无法控制其他应用程序的已定义设置。如果您尝试使用自己的WebView,则会加载以下网址:

 webview.loadUrl("http://www.english.com/about");

答案 1 :(得分:1)

有两件事你做错了:1)你创建了一个新的WebView但从未将它附加到你的视图树上; 2)你要求外部应用程序处理你想要显示的网址的查看。您需要将WebView添加到xml布局文件中,或者在根视图上使用view.addChild(web);附加到视图树。在WebView成为视图树的一部分后,只需调用web.loadUrl(...);即可加载网页。由于您不想在外部浏览器上打开网页,因此您应该删除Intent it =...startActivity(it);

如果要在其他活动上打开网页,只需在其布局中创建一个带有webview的新活动。您可以找到有关如何执行此操作的示例here