فهرست منبع

兼容云派设备,设备标识符使用序列号

weizhengliang 3 سال پیش
والد
کامیت
0193aab4d1

+ 1 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constants.kt

@@ -7,6 +7,7 @@ class Constants {
         var part_name: String? =""//科室名字
         var part_name: String? =""//科室名字
         var part_id : Int =-1//科室ID
         var part_id : Int =-1//科室ID
         var mac: String? =""//设备Mac
         var mac: String? =""//设备Mac
+        var imei: String? = "" //设备标识符
         var eth_ip: String? ="" //当前设备的IP
         var eth_ip: String? ="" //当前设备的IP
         var ids: Int? =0//当前设备的ID
         var ids: Int? =0//当前设备的ID
         var sip_id: String? =""//sip
         var sip_id: String? =""//sip

+ 8 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/TcpClientHandler.java

@@ -1,5 +1,6 @@
 package com.wdkl.ncs.android.middleware.tcp;
 package com.wdkl.ncs.android.middleware.tcp;
 
 
+import android.os.Build;
 import android.util.Log;
 import android.util.Log;
 
 
 import com.wdkl.ncs.android.component.nursehome.common.Constants;
 import com.wdkl.ncs.android.component.nursehome.common.Constants;
@@ -43,8 +44,13 @@ public class TcpClientHandler extends SimpleChannelInboundHandler<String> {
         this.ctx = ctx;
         this.ctx = ctx;
         connected = true;
         connected = true;
         retryTimes = 0;
         retryTimes = 0;
-        TcpModel tcpModel = DeviceUtil.deviceConnect(Constants.Companion.getMac());
-        TcpClient.getInstance().sendMsg(tcpModel.toJson());
+        if ("YUNPAI_H6".equals(Build.MODEL)) {
+            TcpModel tcpModel = DeviceUtil.deviceConnect(Constants.Companion.getImei());
+            TcpClient.getInstance().sendMsg(tcpModel.toJson());
+        } else {
+            TcpModel tcpModel = DeviceUtil.deviceConnect(Constants.Companion.getMac());
+            TcpClient.getInstance().sendMsg(tcpModel.toJson());
+        }
 
 
         Constants.Companion.setTcp_connected(true);
         Constants.Companion.setTcp_connected(true);
         EventBus.getDefault().post(new MessageEvent(1, Constants.Companion.getEVENT_TCP_STATE()));
         EventBus.getDefault().post(new MessageEvent(1, Constants.Companion.getEVENT_TCP_STATE()));

+ 25 - 6
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/RegisterActivity.kt

@@ -2,6 +2,7 @@ package com.wdkl.ncs.android.component.nursehome.activity
 
 
 import android.Manifest
 import android.Manifest
 import android.graphics.Color
 import android.graphics.Color
+import android.os.Build
 import android.os.Handler
 import android.os.Handler
 import android.text.TextUtils
 import android.text.TextUtils
 import android.util.Log
 import android.util.Log
@@ -64,8 +65,10 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
         requestPermissions()
         requestPermissions()
 
 
         Constants.mac = NetHelper.getInstance().macAddress
         Constants.mac = NetHelper.getInstance().macAddress
-        Log.e(TAG,"mac "+Constants.mac)
+        Constants.imei = NetHelper.getInstance().imei
+        Log.e(TAG,"mac: "+Constants.mac + ", imei: " + Constants.imei)
         tv_local_mac.text = "本机MAC:"+Constants.mac
         tv_local_mac.text = "本机MAC:"+Constants.mac
+        tv_local_imei.text = "IMEI或序列号: " + Constants.imei
 
 
         Thread{
         Thread{
             //val logoBitmap = BitmapFactory.decodeResource(resources, R.mipmap.erlogo)
             //val logoBitmap = BitmapFactory.decodeResource(resources, R.mipmap.erlogo)
@@ -74,7 +77,11 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
             builder.append("&code=")
             builder.append("&code=")
             builder.append(Constants.DEVICE_CODE)
             builder.append(Constants.DEVICE_CODE)
             builder.append("&mac=")
             builder.append("&mac=")
-            builder.append(Constants.mac)
+            if ("YUNPAI_H6".equals(Build.MODEL)) {
+                builder.append(Constants.imei)
+            } else {
+                builder.append(Constants.mac)
+            }
             builder.append("&model=")
             builder.append("&model=")
             builder.append(Constants.DEVICE_MODEL)
             builder.append(Constants.DEVICE_MODEL)
             builder.append("&hard_ver=")
             builder.append("&hard_ver=")
@@ -85,7 +92,7 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
             builder.append(Constants.DEVICE_TYPE)
             builder.append(Constants.DEVICE_TYPE)
             builder.append("&device_name=")
             builder.append("&device_name=")
             builder.append(Constants.DEVICE_NAME)
             builder.append(Constants.DEVICE_NAME)
-            val code = EcodeHelper().createQRImage(builder.toString(),200, null)
+            val code = EcodeHelper().createQRImage(builder.toString(),280, null)
             activity.runOnUiThread {
             activity.runOnUiThread {
                 view_qr_code?.setImageBitmap(code)
                 view_qr_code?.setImageBitmap(code)
             }
             }
@@ -107,11 +114,19 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
         btn_reload.isEnabled = false
         btn_reload.isEnabled = false
         btn_reload.setOnClickListener {
         btn_reload.setOnClickListener {
             btn_reload.isEnabled = false
             btn_reload.isEnabled = false
-            presenter.loadData(Constants.mac!!)
+            if ("YUNPAI_H6".equals(Build.MODEL)) {
+                presenter.loadData(Constants.imei!!)
+            } else {
+                presenter.loadData(Constants.mac!!)
+            }
         }
         }
 
 
         if (permissionGrant) {
         if (permissionGrant) {
-            presenter.loadData(Constants.mac!!)
+            if ("YUNPAI_H6".equals(Build.MODEL)) {
+                presenter.loadData(Constants.imei!!)
+            } else {
+                presenter.loadData(Constants.mac!!)
+            }
         } else {
         } else {
             reload()
             reload()
         }
         }
@@ -121,7 +136,11 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
         handler.postDelayed({
         handler.postDelayed({
             if (permissionGrant) {
             if (permissionGrant) {
                 btn_reload.isEnabled = false
                 btn_reload.isEnabled = false
-                presenter.loadData(Constants.mac!!)
+                if ("YUNPAI_H6".equals(Build.MODEL)) {
+                    presenter.loadData(Constants.imei!!)
+                } else {
+                    presenter.loadData(Constants.mac!!)
+                }
             } else {
             } else {
                 reload()
                 reload()
             }
             }

+ 34 - 0
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/util/NetHelper.java

@@ -1,12 +1,16 @@
 package com.wdkl.ncs.android.component.nursehome.util;
 package com.wdkl.ncs.android.component.nursehome.util;
 
 
+import android.Manifest;
 import android.annotation.SuppressLint;
 import android.annotation.SuppressLint;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiManager;
 import android.os.Build;
 import android.os.Build;
+import android.provider.Settings;
+import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.text.TextUtils;
 
 
 import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.lib.base.BaseApplication;
@@ -526,6 +530,36 @@ public class NetHelper {
         return null;
         return null;
     }
     }
 
 
+    public String getIMEI() {
+        //获取序列号
+        String serial = null;
+        try {
+            serial = android.os.Build.SERIAL;
+            if (serial.equalsIgnoreCase("unknown")) {
+                final TelephonyManager mTelephony = (TelephonyManager) BaseApplication.appContext.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+                    if (BaseApplication.appContext.getApplicationContext().checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
+                        serial = null;
+                    }
+                }
+                assert mTelephony != null;
+                if (mTelephony.getDeviceId() != null) {
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+                        serial = mTelephony.getImei();
+                    } else {
+                        serial = mTelephony.getDeviceId();
+                    }
+                } else {
+                    serial = Settings.Secure.getString(BaseApplication.appContext.getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
+                }
+
+            }
+        } catch (Exception e) {
+
+        }
+        return serial;
+    }
+
     public static boolean isBTConnected() {
     public static boolean isBTConnected() {
         BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
         BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
         if (btAdapter != null) {
         if (btAdapter != null) {

+ 11 - 2
nursehome/src/main/res/layout/activity_register.xml

@@ -12,8 +12,8 @@
         <ImageView
         <ImageView
             android:id="@+id/view_qr_code"
             android:id="@+id/view_qr_code"
             android:layout_marginTop="10dp"
             android:layout_marginTop="10dp"
-            android:layout_width="200dp"
-            android:layout_height="200dp"
+            android:layout_width="280dp"
+            android:layout_height="280dp"
             android:layout_gravity="center_horizontal" />
             android:layout_gravity="center_horizontal" />
 
 
         <TextView
         <TextView
@@ -35,6 +35,15 @@
             android:textSize="20sp" />
             android:textSize="20sp" />
 
 
         <TextView
         <TextView
+            android:id="@+id/tv_local_imei"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:text="IMEI或序列号:"
+            android:textColor="@color/black"
+            android:textSize="20sp" />
+
+        <TextView
             android:id="@+id/tv_app_version"
             android:id="@+id/tv_app_version"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"