应用程序想展示一个网页,需要调用系统浏览器或第三方浏览器加载,或者使用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");