android+++打开网页,Android打开网页(android内置浏览器+webView)

1 通过系统自带的浏览器访问

// 打开网址 这个是通过打开android自带的浏览器进行的打开网址

Uri uri = Uri.parse(str);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

if (intent.resolveActivity(getPackageManager()) != null) {

// 网址正确 跳转成功

startActivity(intent);

} else {

//网址不正确 跳转失败 提示错误

Toast.makeText(MainActivity.this, "网址输入错误,请重新输入!", Toast.LENGTH_SHORT).show();

}

2 通过APP内部打开网页

XML中

java中

private WebView webView;

webView = findViewById(R.id.webView);

initWebView();

private void initWebView() {

//加载一个网页:

webView.loadUrl("");

WebViewClient类

webView.setWebViewClient(new WebViewClient() {

// 复写shouldOverrideUrlLoading()方法,使得打开网页时不调用系统浏览器, 而是在本WebView中显示

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

//开始载入页面调用的,我们可以设定一个loading的页面,告诉用户程序在等待网络响应。

}

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

//设定加载开始的操作

}

@Override

public void onPageFinished(WebView view, String url) {

//设定加载结束的操作

}

public boolean onLoadResource(WebView view, String url) {

//设定加载资源的操作,在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。

}

//加载页面的服务器出现错误时(如404)调用 使用自定义的错误界面 更符合软件的整体设计风格

//步骤1:写一个html文件(error_handle.html),用于出错时展示给用户看的提示页面

//步骤2:将该html文件放置到代码根目录的assets文件夹下

//步骤3:复写WebViewClient的onRecievedError方法

//该方法传回了错误码,根据错误类型可以进行不同的错误分类处理

@Override

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){

switch(errorCode)

{

case HttpStatus.SC_NOT_FOUND:

view.loadUrl("file:///android_assets/error_handle.html");

break;

}

}

//处理https请求

@Override

public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

handler.proceed(); //表示等待证书响应

// handler.cancel(); //表示挂起连接,为默认方式

// handler.handleMessage(null); //可做其他处理

}

});

WebChromeClient类

辅助 WebView 处理 Javascript 的对话框,网站图标,网站标题等

webview.setWebChromeClient(new WebChromeClient(){

//获得网页的加载进度并显示

@Override

public void onProgressChanged(WebView view, int newProgress) {

if (newProgress < 100) {

String progress = newProgress + "%";

// 这里的progress为progress控件

progress.setText(progress);

} else {

}

//获取Web页中的标题

@Override

public void onReceivedTitle(WebView view, String title) {

titleview.setText(title);

// 还有设计JS界面的对话框 警示框等

});

获取WebView当前网址

webView.getUrl();

javascript支持

要使得到的内容的某些按钮可以被点击,对话框的确认按钮,列表选择,返回等按钮可以使用,则添加

javascript支持

webView.getSettings().setJavaScriptEnabled(true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值