webView

http://blog.sina.com.cn/s/blog_4d142b550100sbnh.html点击打开链接

// 创建WebViewClient对象
                WebViewClient wvc = new WebViewClient() {
 
                        @Override
                        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                                Toast.makeText(getApplicationContext(), "WebViewClient.shouldOverrideUrlLoading", Toast.LENGTH_SHORT)
                                                .show();
                                // 使用自己的WebView组件来响应Url加载事件,而不是使用默认浏览器器加载页面
                                wv.loadUrl(url);
                                // 记得消耗掉这个事件。给不知道的朋友再解释一下,Android中返回True的意思就是到此为止吧,事件就会不会冒泡传递了,我们称之为消耗掉
                                return true;
                        }
 
                        @Override
                        public void onPageStarted(WebView view, String url, Bitmap favicon) {
                                Toast.makeText(getApplicationContext(), "WebViewClient.onPageStarted", Toast.LENGTH_SHORT).show();
                                super.onPageStarted(view, url, favicon);
                        }
 
                        @Override
                        public void onPageFinished(WebView view, String url) {
                                Toast.makeText(getApplicationContext(), "WebViewClient.onPageFinished", Toast.LENGTH_SHORT).show();
                                super.onPageFinished(view, url);
                        }
 
                        @Override
                        public void onLoadResource(WebView view, String url) {
                                Toast.makeText(getApplicationContext(), "WebViewClient.onLoadResource", Toast.LENGTH_SHORT).show();
                                super.onLoadResource(view, url);
                        }
 
                };
 
                // 设置WebViewClient对象
                wv.setWebViewClient(wvc);
 
                // 创建WebViewChromeClient
                WebChromeClient wvcc = new WebChromeClient() {
 
                        // 处理Alert事件
                        @Override
                        public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
                                // 构建一个Builder来显示网页中的alert对话框
                                Builder builder = new Builder(MainWebView3.this);
                                builder.setTitle("计算1+2的值");
                                builder.setMessage(message);
                                builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                result.confirm();
                                        }
                                });
                                builder.setCancelable(false);
                                builder.create();
                                builder.show();
                                return true;
                        }
 
                        @Override
                        public void onReceivedTitle(WebView view, String title) {
                                MainWebView3.this.setTitle("可以用onReceivedTitle()方法修改网页标题");
                                super.onReceivedTitle(view, title);
                        }
 
                        // 处理Confirm事件
                        @Override
                        public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
                                Builder builder = new Builder(MainWebView3.this);
                                builder.setTitle("删除确认");
                                builder.setMessage(message);
                                builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
 
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                result.confirm();
                                        }
 
                                });
                                builder.setNeutralButton(android.R.string.cancel, new AlertDialog.OnClickListener() {
 
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                result.cancel();
                                        }
 
                                });
                                builder.setCancelable(false);
                                builder.create();
                                builder.show();
                                return true;
                        }
 
                        // 处理提示事件
                        @Override
                        public boolean onJsPrompt(WebView view, String url, String message, String defaultValue,
                                        JsPromptResult result) {
                                // 看看默认的效果
                                return super.onJsPrompt(view, url, message, defaultValue, result);
                        }
                };
 
                // 设置setWebChromeClient对象
                wv.setWebChromeClient(wvcc);
        }
}

http://blog.youkuaiyun.com/flowingflying/article/details/6339328

 

Android学习笔记(二九):嵌入浏览器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值