WebViewとH5それらのもの

1.のWebViewの基本的な使い方
1. webViewを介してhtmlページをロードする使用法:
//例如:加载assets文件夹下的test.html页面
mWebView.loadUrl("file:///android_asset/test.html")
//例如:加载网页
mWebView.loadUrl("http://www.baidu.com")

注:通常、ウェブページはアプリ内で開かれます。それ以外の場合は、携帯電話のデフォルトのブラウザで開かれます。同時に、アプリのタイトルにH5ページのタイトルを表示させます。WebViewClientを設定します。

webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {//设置App内部打开网页
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) {//设置标题
                tv_title.setText(view.getTitle());

            }
 });
2. WebVIew Access HTTPS ssl暗号化URL時間を使用したプロトコル要求)。処理されない場合、ページは空白です。システムに付属のブラウザで開くと、証明書を確認するためのダイアログボックスが表示されます。処理が必要な書き換えするonReceivedSslError方法WebViewClientのクラスを次のように

 @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.proceed();
            }

2つ、WebViewとH5の相互作用
前提条件:jsメソッドの呼び出しはwebViewでサポートされている必要があります
WebSettings webSettings = mWebView.getSettings();
    //设置为可调用js方法
    webSettings.setJavaScriptEnabled(true);
1   Androidのは、HTMLページ内のJavaScriptメソッドを呼び出し、ローカル
//若调用的js方法没有返回值 do()方法为JS的方法
mWebView.loadUrl("javascript:do()");

//有返回值
mWebView.evaluateJavascript("do(1,2)", new ValueCallback<String>() {
        @Override
        public void onReceiveValue(String value) {
            Log.e(TAG, "onReceiveValue value=" + value);
        }
    });
2.  jsがAndroidのネイティブJavaメソッドを呼び出します
まず、Javaクラスを定義します。
public class JsInteration {
    @JavascriptInterface //Android4.2以上可以直接使用@JavascriptInterface注解来声明
    public String back() {
        return "hello world";
    }
}
次に、jsでAndroidのメソッドを呼び出します
//第一个参数是 供给js调用的类,第二个参数是js中要用到的调用这个类中的方法的对象,可以随便起
mWebView.addJavascriptInterface(new JsInteration(), "android");
質問:Jsandroidメソッドを無効と呼ぶことが時々発生します。解決:
你可需要加上注解:@SuppressLint("SetJavaScriptEnabled")

おすすめ

転載: blog.csdn.net/xufei5789651/article/details/69566985