当前位置: 首页 > 面试题库 >

如何在WebView中加载外部网页

呼延才
2023-03-14
问题内容

我的问题是该网页未加载到webview中。

mWebview.loadUrl("http://www.google.com"); 启动网络浏览器…

这是我的活动代码:

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Main extends Activity {

    private WebView mWebview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mWebview = new WebView(this);
        mWebview.loadUrl("http://www.google.com");
        setContentView(mWebview);
    }   
}

我在清单中添加了所需的权限:

<uses-permission android:name="android.permission.INTERNET" />

问题答案:

由于这篇文章,我终于找到了解决方案。这是代码:

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.annotation.TargetApi;

public class Main extends Activity {

    private WebView mWebview ;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        mWebview  = new WebView(this);

        mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript

        final Activity activity = this;

        mWebview.setWebViewClient(new WebViewClient() {
            @SuppressWarnings("deprecation")
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
            }
            @TargetApi(android.os.Build.VERSION_CODES.M)
            @Override
            public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
                // Redirect to deprecated method, so you can use it in all SDK versions
                onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
            }
        });

        mWebview .loadUrl("http://www.google.com");
        setContentView(mWebview );

    }

}


 类似资料:
  • 在打开WebView中的地址之前,我需要制作一个加载条。它是空白的,不能与这里找到的主题。您需要在打开前加载。 对不起我的英语。 } 我有一个飞溅之前...但我没有得到所有的白色如果页面还没有收费。我想显示一批货,然后只有当你是100%装载,显示页面。谢谢

  • 如果一个bean类来自外部库(例如我自己的commons库),我如何使用ConfigurationProperties填充该bean? 示例:来自公共库: 实施项目: application.properties(也仅限于实施项目): 结果: 由于验证异常,应用程序启动失败。o、 s.b.b.PropertiesConfigurationFactory:对象公用空间中的字段错误。字段“name”上

  • 我试着在网络视图中查看http://artikelweb.com。网页显示得很好。但是,每当我从“热门作者”部分转到任何作者链接时,网页都会出现,但是加载后,报价没有显示。 在Google Chrome浏览器(移动)中,加载后会出现引号, 但是,在我的应用程序中,引用不会显示在网络视图中。 代码片段:

  • 问题内容: 我有这个模块,它将外部库与其他逻辑一起组成组件,而无需将标签直接添加到index.html中: 我注意到ES6规范是静态的,并且在TypeScript编译期间而不是在运行时进行了解析。 无论如何使其可配置,以便从CDN或本地文件夹加载file.js?如何告诉Angular 2动态加载脚本? 问题答案: 如果使用的是system.js,则可以在运行时使用: 如果您使用的是webpack,

  • 问题内容: 我需要在我的站点中显示另一个外部站点的内容。通常标签可以做到这一点。但我的要求不是全部内容,而只是该网站的一部分。例如该网站的布局有3个部分,,,。我的意思是我只想显示一部分。我该怎么做? 我试过了,但是没有用。 问题答案: 这是由于ajax跨域安全性限制,一种技巧是从服务器设置代理脚本,该脚本从不同的站点(域)下载内容,并将该代理用作javascript中的参考。 示例:(proxy