admin
2022-04-18 34f0d1927d662956202620b8036384a026ceca29
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BWJavaInterface.java
@@ -1,17 +1,26 @@
package com.weikou.beibeivideo.util.browser;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.support.v4.content.ContextCompat;
import androidx.core.content.ContextCompat;
import android.webkit.JavascriptInterface;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.gson.Gson;
import com.lcjian.library.util.common.StringUtils;
import com.tencent.smtt.sdk.WebView;
import com.weikou.beibeivideo.entity.JumpDetail;
import com.weikou.beibeivideo.ui.dialog.LoadingDialogUtil;
import com.weikou.beibeivideo.ui.login.LoginActivity;
import com.weikou.beibeivideo.ui.login.PhoneLoginActivity;
import com.weikou.beibeivideo.util.AlibcTradeUtil;
import com.weikou.beibeivideo.util.JumpActivityUtil;
import com.weikou.beibeivideo.util.UserUtil;
import org.json.JSONException;
import org.json.JSONObject;
@@ -24,12 +33,15 @@
    TextView tv_top_bar_middle, tv_top_bar_left2, tv_top_bar_right;
    ImageView iv_right;
    WebView webview;
    private Dialog loadingDialog;
    public BWJavaInterface(Activity activity, WebView webview) {
        super(activity);
        mContext = activity;
        this.webview = webview;
        loadingDialog = LoadingDialogUtil.getLoadingDialog(activity, "");
    }
    public BWJavaInterface(Activity activity, TextView tv_top_bar_middle
            , TextView tv_top_bar_left2, TextView tv_top_bar_right
@@ -41,6 +53,44 @@
        this.tv_top_bar_right = tv_top_bar_right;
        this.iv_right = iv_right;
        this.webview = webview;
        loadingDialog = LoadingDialogUtil.getLoadingDialog(activity, "");
    }
    @JavascriptInterface
    public void jumpAPPPage(String jumpDetailStr, String params) {
        JumpDetail jumpDetail = new Gson().fromJson(jumpDetailStr, JumpDetail.class);
        com.alibaba.fastjson.JSONObject paramsJson = null;
        if (!StringUtils.isEmpty(params)) {
            paramsJson = com.alibaba.fastjson.JSONObject.parseObject(params);
        }
        JumpActivityUtil.jumpPage(mContext, jumpDetail, paramsJson);
    }
    @JavascriptInterface
    public void showLoading() {
        if (loadingDialog != null && !loadingDialog.isShowing() && mContext != null) {
            mContext.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    loadingDialog.show();
                }
            });
        }
    }
    @JavascriptInterface
    public void hideLoading() {
        if (loadingDialog != null && loadingDialog.isShowing() && mContext != null) {
            mContext.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    loadingDialog.dismiss();
                }
            });
        }
    }
    @JavascriptInterface
@@ -103,6 +153,18 @@
        });
    }
    @JavascriptInterface
    public void finishPageWithResultOK() {
        mContext.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mContext.setResult(Activity.RESULT_OK);
                mContext.finish();
            }
        });
    }
    /**
     * 淘宝授权
     *
@@ -113,6 +175,52 @@
        if (StringUtils.isEmpty(url))
            return;
        AlibcTradeUtil.openAuthLink(mContext, url);
    }
    /**
     * 登录
     */
    @JavascriptInterface
    public void login() {
        UserUtil.toLogin(mContext);
    }
    @JavascriptInterface
    public void logout() {
        UserUtil.logout(mContext);
    }
    @JavascriptInterface
    public void jumpWeb() {
    }
    /**
     * 电话号码绑定
     */
    @JavascriptInterface
    public void bindPhone() {
        Intent intent = new Intent(mContext, PhoneLoginActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra("login", false);
        mContext.startActivity(intent);
    }
    /**
     * 跳转微信小程序
     *
     * @param userName
     * @param path
     */
    @JavascriptInterface
    public void jumpWXXCX(String userName, String path) {
        JumpDetail jumpDetail = new JumpDetail();
        jumpDetail.setType("wxxcx");
        com.alibaba.fastjson.JSONObject params = new com.alibaba.fastjson.JSONObject();
        params.put("userName", userName);
        params.put("path", path);
        JumpActivityUtil.jumpPage(mContext, jumpDetail, params);
    }
    // 判断权限集合 是否授权 false授权 true未授权
@@ -130,4 +238,6 @@
        //权限未授权
        return ContextCompat.checkSelfPermission(mContext, permission) == PackageManager.PERMISSION_DENIED;
    }
}