FANGLH 8 سال پیش
والد
کامیت
37de485588

+ 2 - 0
WeiChat/src/main/AndroidManifest.xml

@@ -939,6 +939,8 @@
 
         <activity android:name=".ui.me.InfoCodeActivity"
             android:label="@string/info_2dcode"></activity>
+        <activity android:name=".ui.me.ScanInfoResultsActivity"
+            android:label="扫描结果"></activity>
     </application>
 
 </manifest>

+ 31 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/CaptureResultActivity.java

@@ -17,14 +17,17 @@ import android.webkit.WebViewClient;
 
 import com.uuzuche.lib_zxing.activity.CodeUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.JsonValidator;
+import com.xzjmyk.pm.activity.ui.me.ScanInfoResultsActivity;
 import com.xzjmyk.pm.activity.util.DownloadUtil;
+import com.xzjmyk.pm.activity.util.StringUtils;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.view.crouton.LifecycleCallback;
 
 
-
 /**
  * @author RaoMeng
+ * update fanglh 2017-6-7 新增扫描名片二维码需求
  */
 public class CaptureResultActivity extends Activity {
     private WebView mWebView;
@@ -90,12 +93,9 @@ public class CaptureResultActivity extends Activity {
             }
             if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS){
                 String result = bundle.getString(CodeUtils.RESULT_STRING);
-                Log.d("scanurl",result);
-                if (CommonUtil.isWebsite(result)){
-                    mWebView.loadUrl(result);
-//                    finish();
-                }else {
-                    Crouton crouton = Crouton.makeText(CaptureResultActivity.this, "您扫描的二维码不是网址", 0xffff4444, 1500);
+                //TODO update fanglh 2017-6-7 新增扫描名片二维码需求
+                if (StringUtils.isEmpty(result)) {
+                    Crouton crouton = Crouton.makeText(CaptureResultActivity.this, "您扫描的二维码信息为空", 0xffff4444, 1500);
                     crouton.show();
                     crouton.setLifecycleCallback(new LifecycleCallback() {
                         @Override
@@ -108,11 +108,35 @@ public class CaptureResultActivity extends Activity {
                             finish();
                         }
                     });
+                }else {
+                    if (CommonUtil.isWebsite(result)){
+                        mWebView.loadUrl(result);
+//                    finish();
+                    }else {
+                        doJudgeInfoCard(result);//进行是否为名片二维码判断
+                    }
                 }
+                Log.d("scanurl",result);
+
+
             }
         }
     }
 
+    private void doJudgeInfoCard(String result) {
+        Boolean isJSONData = new JsonValidator().validate(result);//是否是JSON格式字符
+        if (isJSONData && result.contains("uu_name") && result.contains("uu_phone")){
+            startActivity(new Intent(this, ScanInfoResultsActivity.class)
+                    .putExtra("ScanResults",result)
+                    .putExtra("isQRData",true));// true :扫描到的是名片信息标志
+        }else {
+            startActivity(new Intent(this, ScanInfoResultsActivity.class)
+                                        .putExtra("ScanResults",result)
+                                        .putExtra("isQRData",false));
+        }
+        finish();
+    }
+
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK){

+ 50 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/me/ScanInfoResultsActivity.java

@@ -0,0 +1,50 @@
+package com.xzjmyk.pm.activity.ui.me;
+
+import android.content.Intent;
+import android.os.Bundle;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.lidroid.xutils.ViewUtils;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+
+/**
+ * Created by FANGlh on 2017/6/7.
+ * function:二维码扫描后非html的String动态展示界面,根据是不是名片二维码显示两种不同的布局
+ */
+
+public class ScanInfoResultsActivity extends BaseActivity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_code_results);
+        ViewUtils.inject(this);
+        initView();
+    }
+    private void initView() {
+        Intent intent = getIntent();
+        Boolean isQRData = intent.getBooleanExtra("isQRData",false);
+        String ScanResults = intent.getStringExtra("ScanResults");
+        JSONObject resultObject = JSON.parseObject(ScanResults);
+        if (resultObject == null) return;
+        if (isQRData) {
+            //TODO 显示名片的布局
+            showQRData(resultObject);
+        }else {
+            //TODO 显示特殊字符的布局
+            showSpecialText(resultObject);
+        }
+    }
+
+    private void showSpecialText(JSONObject resultObject) {
+        String name = resultObject.getString("uu_name");
+        String phone = resultObject.getString("uu_phone");
+    }
+
+    private void showQRData(JSONObject resultObject) {
+
+    }
+
+
+}

+ 204 - 0
WeiChat/src/main/res/layout/activity_code_results.xml

@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/activity_main"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".view.NewStepActivity">
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:id="@+id/movement_records_calender_ll"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+    </LinearLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@color/light_blue"/>
+
+    <LinearLayout
+        android:layout_marginLeft="20dp"
+        android:layout_marginRight="20dp"
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="15sp"
+            android:layout_marginTop="15dp"
+            android:layout_marginBottom="15dp"
+            android:textColor="@color/main_text_color"
+            android:text="@string/sports_recode"/>
+
+        <RelativeLayout
+            android:background="@drawable/ic_small_blue_rectangular"
+            android:layout_width="match_parent"
+            android:layout_height="100dp">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="@color/white"
+                android:textSize="18sp"
+                android:layout_margin="10dp"
+                android:text="@string/sports_recode_distance"/>
+
+            <LinearLayout
+                android:layout_margin="10dp"
+                android:layout_alignParentRight="true"
+                android:layout_alignParentBottom="true"
+                android:orientation="vertical"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
+
+                <LinearLayout
+                    android:layout_gravity="end"
+                    android:orientation="horizontal"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content">
+
+                    <TextView
+                        android:id="@+id/movement_total_km_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="30sp"
+                        android:layout_marginLeft="10dp"
+                        android:layout_marginRight="10dp"
+                        android:textColor="@color/white" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="16sp"
+                        android:textColor="@color/white"
+                        android:text="@string/sports_kilometre"/>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_gravity="end"
+                    android:orientation="horizontal"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content">
+
+                    <TextView
+                        android:id="@+id/movement_total_km_time_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="end"
+                        android:textSize="12sp"
+                        android:textColor="@color/white"
+                        android:layout_marginLeft="10dp"
+                        android:layout_marginRight="10dp" />
+
+
+                </LinearLayout>
+            </LinearLayout>
+        </RelativeLayout>
+
+        <RelativeLayout
+            android:layout_marginTop="10dp"
+            android:background="@drawable/ic_small_blue_rectangular"
+            android:layout_width="match_parent"
+            android:layout_height="100dp">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="@color/white"
+                android:textSize="18sp"
+                android:layout_margin="10dp"
+                android:text="@string/sports_step_tody"/>
+
+            <LinearLayout
+                android:layout_margin="10dp"
+                android:layout_alignParentRight="true"
+                android:layout_alignParentBottom="true"
+                android:orientation="vertical"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
+
+                <LinearLayout
+                    android:layout_gravity="end"
+                    android:orientation="horizontal"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content">
+
+                    <TextView
+                        android:id="@+id/movement_total_steps_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="30sp"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="5dp"
+                        android:textColor="@color/white"/>
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:textSize="16sp"
+                        android:textColor="@color/white"
+                        android:text="@string/sports_step"/>
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_gravity="end"
+                    android:orientation="horizontal"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content">
+
+                    <TextView
+                        android:id="@+id/movement_total_steps_time_tv"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="end"
+                        android:textSize="12sp"
+                        android:textColor="@color/white"
+                        android:layout_marginLeft="5dp"
+                        android:layout_marginRight="5dp" />
+
+                </LinearLayout>
+            </LinearLayout>
+        </RelativeLayout>
+
+        <TextView
+            android:id="@+id/is_support_tv"
+            android:textSize="15sp"
+            android:layout_marginTop="25dp"
+            android:layout_gravity="center_horizontal"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/device_nosupport_step"
+            android:textColor="@color/red"/>
+
+    </LinearLayout>
+    <LinearLayout
+        android:id="@+id/steps_history_ll"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:layout_marginTop="50dp"
+        >
+        <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/uustephistory"/>
+
+        <TextView
+            android:id="@+id/steps_history_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:text="@string/sports_recode_more"
+            android:textColor="#288af8"
+            android:textSize="16sp"
+            android:layout_marginLeft="10dp"
+            />
+    </LinearLayout>
+</LinearLayout>