From: TrillGates Date: Sun, 25 Apr 2021 08:03:40 +0000 (+0800) Subject: add wear state receiver for anan protocol. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=19b54bb9bbf8c5bb5e9c73a4ed8c02f94b5d0592;p=protocol_srv.git add wear state receiver for anan protocol. --- diff --git a/app/src/main/java/com/ic/protocols/protocol_anan.java b/app/src/main/java/com/ic/protocols/protocol_anan.java index 5025c9bf..a96a4382 100644 --- a/app/src/main/java/com/ic/protocols/protocol_anan.java +++ b/app/src/main/java/com/ic/protocols/protocol_anan.java @@ -1,7 +1,10 @@ package com.ic.protocols; import android.annotation.SuppressLint; +import android.content.BroadcastReceiver; import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.telephony.TelephonyManager; import com.enqualcomm.support.bean.Runtime; @@ -35,8 +38,43 @@ public class protocol_anan { mConnection = connect; mRuntime = runtime; getPhoneStatus(); + //注册佩戴状态改变的监听 + registerWearStateReceiver(); } + public static final String KEY_ANTI_EVENT = "eventID"; + public static final int STATE_ANTI_NONE = -1; + public static final int STATE_ANTI_ON = 0; + public static final int STATE_ANTI_OFF = 1; + + private void registerWearStateReceiver() { + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction("com.ic.ACTION_ANTIOFF"); + mRuntime.getContextProxy().context.registerReceiver(wearStateReceiver, intentFilter); + } + + private final BroadcastReceiver wearStateReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + + //如果来了佩戴的广播,判断到没有绑定远程服务的话,那么就绑定吧 + int state = intent.getIntExtra(KEY_ANTI_EVENT, STATE_ANTI_NONE); + ICLogger.d("state == > " + state); + if (state == STATE_ANTI_NONE) { + ICLogger.d("anti state is none..."); + return; + } + + if (state == STATE_ANTI_OFF) { + //没有穿戴 + APWA("0"); + } else if (state == STATE_ANTI_ON) { + //已经穿戴了 + APWA("1"); + } + } + }; + public enum CMD_TYPE { /*终端发起*/ @@ -178,6 +216,16 @@ public class protocol_anan { .append(CMDEND).toString()); } + //佩戴状态上传,这个监听到广播以后,去上传即可 + //1表示佩戴 + //0表示未佩戴 + //TODO: + public static StringMessage APWA(String state) { + return genStringMessage(cmdMap.get(CMD_TYPE.APWA), + new StringBuilder().append(cmdMap.get(CMD_TYPE.APWA)) + .append(CMDSPLIT).append(state).append(CMDEND).toString()); + } + public static StringMessage APTQ(Runtime runtime) { /** * IWAPTQ,460,0,9520,3671,0#