android 和 js交互 客户端调用的方法

来源:互联网 发布:探测网络拓扑 编辑:程序博客网 时间:2024/05/21 20:36
 mWebView.setWebViewClient(new WebViewClient() {

 // 点击H5的按钮,跳转到另一个界面,单机H5里的提交按钮判断是否登录,onPageFinished()每次加载都会调用
                @Overrid
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    if (url.startsWith("login")) {
                        //未登录
                        if (!AccHelper.isLogin(AppContext.MainContext)) {
                            LikeIosDialog loginDialog = new LikeIosDialog(cn.cntv.ui.activity.HudongWebActivity.this);
                            loginDialog.setmUserDefinedMsg("您还没有登录,是否登录?");
                            loginDialog.setOnCertainButtonClickListener(new LikeIosDialog.OnCertainButtonClickListener() {
                                @Override
                                public void onCertainButtonClick() {
                                    startActivityForResult(new Intent(cn.cntv.ui.activity.HudongWebActivity.this, LoginActivity.class), 101);
//                                MobileAppTracker.trackEvent("登录", "", "边看边聊", 0, HudongWebActivity.this);
                                    overridePendingTransition(R.anim.task_slide_in_right,
                                            R.anim.task_slide_out_left);
                                }

                                @Override
                                public void onCancleButtonClick() {
                                }
                            });
                            loginDialog.setCancelable(false);
                            loginDialog.show();
                        }
                        return true;
                    }
                    //5.28日因songbo要求6.1.0版本注释掉,下个版本再上线
//                    else if (url.startsWith("share")) {
//                        Log.e("yuedongwebactivity",url);
//                        try {
//                            //url: "share://www.cntv.com?mTitle=XXX&mImgUrl=XXX&mPath=XXX"
//                            Uri uri = Uri.parse(url.replace("share://", "http://"));
//                            // 匹配验证码
//                            mTitle = uri.getQueryParameter("mTitle"); //分享的标题
//                            mImgUrl = uri.getQueryParameter("mImgUrl");//小图片的地址,大小在32k
//                            mPath = uri.getQueryParameter("mPath");//跳转html5地址
//
//                            Log.e("yuedongwebactivity","mTitle="+mTitle+";;mImgUrl="+mImgUrl+";;mPath="+mPath);
//
//                            if (shareToPopupWindow != null)
//                                shareToPopupWindow.dismiss();
//                            shareToPopupWindow = ShareToPopupWindow.show("", false, HudongWebActivity.this, mTitle, mImgUrl, mPath, mTitle, false, findViewById(R.id.hudong_web_main));
//                        }
//                        catch (Exception ex)
//                        {
//                            ex.printStackTrace();
//                        }
//                            return true;
//                    }

                    else {
                        try {
                            if (!url.endsWith(".apk") && (url.startsWith("http:") || url.startsWith("https:"))) {
                                view.loadUrl(url);
                                return false;
                            }

                            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                            startActivity(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        return true;
                    }
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    if (mWebView != null) {
                        mWebView.loadUrl("javascript:shareForAndroid()");
                        if (AccHelper.isLogin(AppContext.MainContext)) {
                            mWebView.loadUrl("javascript:cboxGetUserStatus('" + AccHelper.getUserId(cn.cntv.ui.activity.HudongWebActivity.this) + "','" + AccHelper.getVerifycode(cn.cntv.ui.activity.HudongWebActivity.this) + "')");
                        }
                    }
                }
            });
0 0
原创粉丝点击