Browse Source

适配新的Android盒子,使用设备序列号注册

weizhengliang 2 years ago
parent
commit
5bd190ea1b

+ 16 - 0
app/build.gradle

@@ -1,6 +1,15 @@
 apply plugin: 'com.android.application'
 apply plugin: 'com.android.application'
 
 
 android {
 android {
+    signingConfigs {
+        release {
+            storeFile file("keystore_wuyuqing_3128/rk3128.jks")
+            storePassword "111111"
+            keyAlias "rk3128"
+            keyPassword "111111"
+        }
+    }
+
     compileSdkVersion 30
     compileSdkVersion 30
     buildToolsVersion "30.0.2"
     buildToolsVersion "30.0.2"
     defaultConfig {
     defaultConfig {
@@ -13,6 +22,13 @@ android {
     }
     }
     buildTypes {
     buildTypes {
         release {
         release {
+            signingConfig signingConfigs.release
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+
+        debug {
+            signingConfig signingConfigs.release
             minifyEnabled false
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         }

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -6,6 +6,7 @@
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

+ 6 - 3
app/src/main/java/com/example/informationkanban/InitActivity.java

@@ -4,6 +4,7 @@ import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.Intent;
 import android.graphics.Color;
 import android.graphics.Color;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.CountDownTimer;
 import android.os.CountDownTimer;
 import android.provider.Settings;
 import android.provider.Settings;
@@ -49,10 +50,10 @@ public class InitActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.init_layout);
         setContentView(R.layout.init_layout);
 
 
-        if ("NULL".equals(NetFunctionConfig.getUUID())) {
+        /*if ("NULL".equals(NetFunctionConfig.getUUID())) {
             String uuid = "UUID" + System.currentTimeMillis();
             String uuid = "UUID" + System.currentTimeMillis();
             NetFunctionConfig.setUUID(uuid);
             NetFunctionConfig.setUUID(uuid);
-        }
+        }*/
 
 
         tvMac = findViewById(R.id.textView_mac);
         tvMac = findViewById(R.id.textView_mac);
         tvIP = findViewById(R.id.textView_ip);
         tvIP = findViewById(R.id.textView_ip);
@@ -92,6 +93,8 @@ public class InitActivity extends AppCompatActivity {
 
 
         initCountDownTimer();
         initCountDownTimer();
 
 
+        Log.e("init", "device id: " + GetInformationUtils.getSerialNo(getApplicationContext()));
+
         btnChangeIp.setOnClickListener(new View.OnClickListener() {
         btnChangeIp.setOnClickListener(new View.OnClickListener() {
             @Override
             @Override
             public void onClick(View v) {
             public void onClick(View v) {
@@ -244,7 +247,7 @@ public class InitActivity extends AppCompatActivity {
             public void run() {
             public void run() {
                 if (tvMac != null && tvIP != null) {
                 if (tvMac != null && tvIP != null) {
                     //tvMac.setText("MAC地址: " + GetInformationUtils.getMacAddress(InitActivity.this));
                     //tvMac.setText("MAC地址: " + GetInformationUtils.getMacAddress(InitActivity.this));
-                    tvMac.setText("设备ID: " + NetFunctionConfig.getUUID());
+                    tvMac.setText("设备ID: " + GetInformationUtils.getSerialNo(getApplicationContext()));
                     tvIP.setText("本机IP地址: " + GetInformationUtils.getLocalIP());
                     tvIP.setText("本机IP地址: " + GetInformationUtils.getLocalIP());
                     tvServer.setText("服务器IP: " + NetFunctionConfig.getServerIp() + ":" + NetFunctionConfig.getServerPort());
                     tvServer.setText("服务器IP: " + NetFunctionConfig.getServerIp() + ":" + NetFunctionConfig.getServerPort());
                 }
                 }

+ 2 - 1
app/src/main/java/com/example/informationkanban/MainActivity.java

@@ -9,6 +9,7 @@ import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.IntentFilter;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Handler;
 import android.text.TextUtils;
 import android.text.TextUtils;
@@ -44,7 +45,7 @@ public class MainActivity extends AppCompatActivity {
         setContentView(R.layout.activity_main);
         setContentView(R.layout.activity_main);
         init();
         init();
         //MAC = GetInformationUtils.getMacAddress(this);
         //MAC = GetInformationUtils.getMacAddress(this);
-        MAC = NetFunctionConfig.getUUID();
+        MAC = GetInformationUtils.getSerialNo(getApplicationContext());
         Log.e(TAG, "MAC地址 " + MAC);
         Log.e(TAG, "MAC地址 " + MAC);
         if (!TextUtils.isEmpty(MAC)) {
         if (!TextUtils.isEmpty(MAC)) {
             accessTheWebpage();
             accessTheWebpage();

+ 2 - 1
app/src/main/java/com/example/informationkanban/XwalkMainActivity.java

@@ -6,6 +6,7 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.IntentFilter;
 import android.net.Uri;
 import android.net.Uri;
 import android.net.http.SslError;
 import android.net.http.SslError;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.text.format.Time;
 import android.text.format.Time;
@@ -60,7 +61,7 @@ public class XwalkMainActivity extends XWalkActivity {
     @Override
     @Override
     protected void onXWalkReady() {
     protected void onXWalkReady() {
         //MAC = GetInformationUtils.getMacAddress(this);
         //MAC = GetInformationUtils.getMacAddress(this);
-        MAC = NetFunctionConfig.getUUID();
+        MAC = GetInformationUtils.getSerialNo(getApplicationContext());
         Log.e(TAG, "MAC地址 " + MAC);
         Log.e(TAG, "MAC地址 " + MAC);
         if (TextUtils.isEmpty(MAC)) {
         if (TextUtils.isEmpty(MAC)) {
             Toast.makeText(this, "设备信息获取失败", Toast.LENGTH_LONG).show();
             Toast.makeText(this, "设备信息获取失败", Toast.LENGTH_LONG).show();

+ 22 - 0
app/src/main/java/com/example/informationkanban/utils/GetInformationUtils.java

@@ -4,8 +4,11 @@ import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.Context;
 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.provider.Settings;
 import android.text.TextUtils;
 import android.text.TextUtils;
 
 
+import java.lang.reflect.Method;
 import java.net.Inet4Address;
 import java.net.Inet4Address;
 import java.net.InetAddress;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.NetworkInterface;
@@ -185,6 +188,7 @@ public class GetInformationUtils {
         nf.setMinimumIntegerDigits(digits);
         nf.setMinimumIntegerDigits(digits);
         return nf.format(num);
         return nf.format(num);
     }
     }
+
     // 将字符串转为时间戳
     // 将字符串转为时间戳
     public static String getTime(String user_time) {
     public static String getTime(String user_time) {
         String re_time = null;
         String re_time = null;
@@ -198,6 +202,24 @@ public class GetInformationUtils {
         } catch (ParseException e) {
         } catch (ParseException e) {
         }
         }
         return re_time;
         return re_time;
+    }
+
+
+    @SuppressLint("HardwareIds")
+    public static String getSerialNo(Context context) {
+        return getProperty(context, "ro.serialno");
+    }
+
+    public static String getProperty(Context context, String key) {
+        String defaultValue = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
+        try {
+            Class<?> c = Class.forName("android.os.SystemProperties");
+            Method get = c.getMethod("get", String.class, String.class);
+            return  (String)(get.invoke(c, key, defaultValue ));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
 
+        return defaultValue;
     }
     }
 }
 }

+ 2 - 1
app/src/main/res/layout/init_layout.xml

@@ -67,7 +67,8 @@
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="20dp"
         android:layout_marginTop="20dp"
-        android:orientation="horizontal">
+        android:orientation="horizontal"
+        android:visibility="gone">
         <RadioButton
         <RadioButton
             android:id="@+id/radio_webview"
             android:id="@+id/radio_webview"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"