hanjing лет назад: 6
Родитель
Сommit
9932c44f91

+ 15 - 0
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWeb.java

@@ -6,6 +6,7 @@ import android.content.Intent;
 import android.graphics.Bitmap;
 import android.net.Uri;
 import android.os.Build;
+import android.os.Bundle;
 import android.os.Environment;
 import android.provider.MediaStore;
 import android.support.v7.app.ActionBar;
@@ -52,6 +53,7 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
 import com.yalantis.ucrop.util.FileUtils;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.StringCallback;
@@ -559,6 +561,19 @@ public class FgtWeb extends BaseFgtWeb {
             }
         } else if (Constant.INTENT_RECHARGE == requestCode) {
             mWebView.reload();
+        } else if (Constant.INTENT_CAPTURE_QRCODE == requestCode) {
+            if (null != data) {
+                Bundle bundle = data.getExtras();
+                if (bundle == null) {
+                    return;
+                }
+                if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
+                    String result = bundle.getString(CodeUtils.RESULT_STRING);
+                    loadJs("sendQRCode(\"" + result + "\")");
+                } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
+                    G.showToast("解析二维码失败");
+                }
+            }
         } else {
             super.onActivityResult(requestCode, resultCode, data);
             return;

+ 14 - 0
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -56,6 +56,7 @@ import com.tencent.smtt.sdk.WebChromeClient;
 import com.tencent.smtt.sdk.WebSettings;
 import com.tencent.smtt.sdk.WebView;
 import com.tencent.smtt.sdk.WebViewClient;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
 import com.yalantis.ucrop.util.FileUtils;
 import com.zhy.http.okhttp.OkHttpUtils;
 import com.zhy.http.okhttp.callback.StringCallback;
@@ -556,6 +557,19 @@ public class FgtWebX5 extends BaseFgtWebX5 {
             }
         } else if (Constant.INTENT_RECHARGE == requestCode) {
             mWebView.reload();
+        } else if (Constant.INTENT_CAPTURE_QRCODE == requestCode) {
+            if (null != data) {
+                Bundle bundle = data.getExtras();
+                if (bundle == null) {
+                    return;
+                }
+                if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
+                    String result = bundle.getString(CodeUtils.RESULT_STRING);
+                    loadJs("sendQRCode(\"" + result + "\")");
+                } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
+                    G.showToast("解析二维码失败");
+                }
+            }
         } else {
             super.onActivityResult(requestCode, resultCode, data);
             return;

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/util/Constant.java

@@ -3,4 +3,5 @@ package com.sheep.gamegroup.util;
 public class Constant {
     public final static int INTENT_PAY = 1003;
     public final static int INTENT_RECHARGE = 1004;
+    public final static int INTENT_CAPTURE_QRCODE = 1005;
 }

+ 8 - 0
app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java

@@ -37,6 +37,7 @@ import com.sheep.gamegroup.module.user.model.TempUserResp;
 import com.sheep.gamegroup.util.ApiJSONUtil;
 import com.sheep.gamegroup.util.ApiUtil;
 import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.Constant;
 import com.sheep.gamegroup.util.ContactUtil;
 import com.sheep.gamegroup.util.DataKey;
 import com.sheep.gamegroup.util.DataUtil;
@@ -71,6 +72,7 @@ import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
@@ -199,6 +201,12 @@ public class KFZSJs {
     }
 
     @JavascriptInterface
+    public void captureQRCode(){
+        Intent intent = new Intent(activity, CaptureActivity.class);
+        activity.startActivityForResult(intent, Constant.INTENT_CAPTURE_QRCODE);
+    }
+
+    @JavascriptInterface
     public String getInvitationCode() {
         return DataUtil.getInstance().getInvitationCode();
     }

+ 1 - 1
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -251,7 +251,7 @@ public class SheepApp extends MultiDexApplication {
         });
         x.Ext.init(this);
         x.Ext.setDebug(org.xutils.BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能.
-//        ZXingLibrary.initDisplayOpinion(this);
+        ZXingLibrary.initDisplayOpinion(this);
         UMConfigure.setLogEnabled(true);
         UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "5ab0a1da8f4a9d742900035f");
 //        UMShareAPI.get(this);