关于使用webview的一些记录

关于使用webview的一些记录
最近在使用webview加载本地的html,js,css等,以前没用过webview,所以做的过程中出了很多浅显的错误,以此文章,记录一些,好记性不如乱笔头。
1.使用setWebViewClient中的重写函数:shouldOverrideUrlLoading(),此方法的目的是判断新网页的打开方法,当一个新的地址在页面发起是,由app自行决定是在手机浏览器打开还是在webview打开,系统默认返回false的,就是跳转到手机浏览器。返回true,则不触发后继续转到手机浏览器的操作,并同时需要开发者再次调用loadurl方法,继续在webview上显示。`

content.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // 设置点击网页里面的链接还是在当前的webview里跳转
//              shouldoverrideurlloading返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
                //当返回true时,你点任何链接都是失效的,需要你自己跳转。return false时webview会自己跳转。
                view.loadUrl(url);
                return true;
            }`

2。使用onJsAlert()方法是,会遇到只调用一次的情况,使用result.cancel或者confirm即可解决

            @Override
            public boolean onJsAlert(WebView view, String url, String message,
                    JsResult result) {
                dialogStyle=1;
                createAffirmDialog(message);
                result.confirm();
//              return super.onJsAlert(view, url, message, result);
                return true;
            }

关于这里返回true还是false我现在还不知道有啥区别,希望知道的可以和我说下。关于具体使用参考http://gundumw100.iteye.com/blog/1158719
3.android中webview控件实现拍照以及相册上传图片,网上的文章很多,我参考网上的,http://blog.csdn.net/zhoudailiang/article/details/50999708这篇文章写的很好,代码清晰。
4.关于webview返回代码如下:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && content.canGoBack()) {
                content.goBack();// 返回前一个页面
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    @Override
    public void goBack(View v) {
        switch (v.getId()) {
        case R.id.head_left_tv:
            if (content.canGoBack()) {
                content.goBack();
            } else {
                mContext.finish();
            }
            break;
        case R.id.head_close_tv:
            mContext.finish();
            break;

        default:
            break;
        }
    }

content为webview对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值