From: TrillGates Date: Thu, 8 Apr 2021 02:16:52 +0000 (+0800) Subject: create fzd follow prise db X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=46543a621f233a788ff07a1eccfcea34d27cc64d;p=protocol_srv.git create fzd follow prise db --- diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c7b1437b..b0f5af2a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -65,7 +65,6 @@ - diff --git a/app/src/main/java/com/enqualcomm/support/provider/FZDDatabaseHelper.java b/app/src/main/java/com/enqualcomm/support/provider/FZDDatabaseHelper.java index 35630167..db78cb19 100644 --- a/app/src/main/java/com/enqualcomm/support/provider/FZDDatabaseHelper.java +++ b/app/src/main/java/com/enqualcomm/support/provider/FZDDatabaseHelper.java @@ -64,6 +64,15 @@ public class FZDDatabaseHelper extends SQLiteOpenHelper { public static final String mCreateTime = "create_time"; public static final String mUpdateTime = "update_time"; + + /*小红花表*/ + public static final String tFollow = "follow"; + public static final String flId = "_id"; + public static final String flState = "state"; + public static final String flCount = "count"; + public static final String flCreateTime = "create_time"; + public static final String flUpdateTime = "update_time"; + @Override public void onCreate(SQLiteDatabase db) { //创建数据库 @@ -109,6 +118,24 @@ public class FZDDatabaseHelper extends SQLiteOpenHelper { " date)"; ICLogger.d(createMsg); db.execSQL(createMsg); + //创建小红花的数据表 + String createFollow = "create table " + + tFollow + + " (" + + flId + + " integer primary key autoincrement, " + + flState + + " integer, " + + flCount + + " integer, " + + flState + + " integer, " + + flCreateTime + + " date, " + + flUpdateTime + + " date)"; + ICLogger.d(createFollow); + db.execSQL(createFollow); } @Override diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index 35460946..c9b41e2e 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -1,6 +1,9 @@ package com.ic.protocols; +import android.annotation.SuppressLint; +import android.annotation.TargetApi; +import android.bluetooth.BluetoothAdapter; import android.content.ComponentName; import android.content.ContentResolver; import android.content.ContentValues; @@ -10,6 +13,7 @@ import android.content.SharedPreferences; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; +import android.os.Build; import android.os.Environment; import android.os.Handler; import android.os.HandlerThread; @@ -41,6 +45,8 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.RandomAccessFile; +import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -342,6 +348,8 @@ public class protocol_fzd { //链路保持数据 rcapture, TKQ,//获取离线语音消息(微聊) + RECORD,//拾音开关 + BLE,//上传蓝地址 LK,//登录 PING,//绑定查询 KA,//心跳包 @@ -404,6 +412,8 @@ public class protocol_fzd { cmdMap = new HashMap<>(); cmdMap.put(CMD_TYPE.LK, "LK"); cmdMap.put(CMD_TYPE.TKQ, "TKQ"); + cmdMap.put(CMD_TYPE.RECORD, "RECORD"); + cmdMap.put(CMD_TYPE.BLE, "BLE"); cmdMap.put(CMD_TYPE.PING, "PING"); cmdMap.put(CMD_TYPE.rcapture, "rcapture"); cmdMap.put(CMD_TYPE.KA, "KA"); @@ -897,6 +907,45 @@ public class protocol_fzd { return genFZDCMD(cmd, locationData); } + /** + * 获取上传蓝牙地址的指令,可能为空,如果不支持蓝牙的话。 + * + * @return + */ + @SuppressLint("HardwareIds") + public static StringMessage BLE() { + BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + if (bluetoothAdapter == null) { + return null; + } + String mac; + if (Build.VERSION.SDK_INT < 23) { + mac = bluetoothAdapter.getAddress(); + } else { + mac = getBluetoothAddressSdk23(bluetoothAdapter); + } + ICLogger.d("ble mac == > " + mac); + return genFZDCMD(cmdMap.get(CMD_TYPE.BLE), mac); + } + + @TargetApi(23) + static String getBluetoothAddressSdk23(BluetoothAdapter adapter) { + if (adapter == null) return null; + + Class btAdapterClass = adapter.getClass(); + try { + Class btClass = Class.forName("android.bluetooth.IBluetooth"); + Field bluetooth = btAdapterClass.getDeclaredField("mService"); + bluetooth.setAccessible(true); + Method btAddress = btClass.getMethod("getAddress"); + btAddress.setAccessible(true); + return (String) btAddress.invoke(bluetooth.get(adapter)); + } catch (Exception e) { + ICLogger.d("Call Bluetooth by reflection failed."); + return adapter.getAddress(); + } + } + /*登录*/ public static StringMessage LK() { /*IC*YYYYYYYYYYYYYYY*LEN*LK*/ @@ -1513,6 +1562,11 @@ public class protocol_fzd { case TKQ: ICLogger.d("服务器收到客户端请求离线语音的指令."); break; + case DLT: + ICLogger.d("收到服务器解绑消息."); + //TODO:煌城的是重置机器 + mConnection.DeliverCMDMessageToSystem("DLT", cmd); + break; } return ret;