FC 9.1 WebView

应用程序想展示一个网页,需要调用系统浏览器或第三方浏览器加载,或者使用Android内部的WebView控件。

使用Intent(不需要加权限)

  • 指定Intent的action是Intent.ACTION_VIEW
  • 通过Uri.parse()方法,将一个网址字符串解析成一个Uri对象
  • 调用Intent的setData()方法将这个Uri对象传递进去
Uri uri = Uri.parse("https://blog.csdn.net/easy_purple");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);

使用WebView(需要加权限)

  • 用WebView的loadUrl()方法可直接传入网址
  • 调用getSettings()方法,setJavascriptEnable(true)让WebView支持Javascript脚本
  • 重写onProgressChanged方法,进行进度条的展示
  • 添加权限<uses-permission android:name="android.permission.INTERNET"/>
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
//webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient(){
    @Override
    public void onProgressChanged(WebView view, int newProgress) {
        if (newProgress == 100) {
            if (dialog != null && dialog.isShowing()) {
                dialog.dismiss();
                dialog = null;
            }
        } else {
            if (dialog == null) {
                dialog = new ProgressDialog(MainActivity.this);
                dialog.setTitle("正在加载");
                dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                dialog.setProgress(newProgress);
                dialog.show();
            }
        }
        super.onProgressChanged(view, newProgress);
    }
});
webView.loadUrl("https://blog.csdn.net/easy_purple");

猜你喜欢

转载自blog.csdn.net/easy_purple/article/details/84259485
9.1