From e2a34d76a61e4e11ca1bdeb507be7550d94360b6 Mon Sep 17 00:00:00 2001 From: wujie Date: Mon, 12 Jun 2023 17:52:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E4=BF=A1PDA=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/chaoran/business/BrandEnum.java | 1 + .../business/activity/MainActivity.java | 2 + .../business/adapter/HisenseAdapter.java | 53 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 app/src/main/java/chaoran/business/adapter/HisenseAdapter.java diff --git a/app/src/main/java/chaoran/business/BrandEnum.java b/app/src/main/java/chaoran/business/BrandEnum.java index e87c45c..bc91e62 100644 --- a/app/src/main/java/chaoran/business/BrandEnum.java +++ b/app/src/main/java/chaoran/business/BrandEnum.java @@ -10,6 +10,7 @@ package chaoran.business; public enum BrandEnum { //枚举名即为valueOf() + HISENSE("海信", "hisense"), UROBO("优博讯", "urobo"), ROCKCHIP("瑞芯微电子", "rockchip"), TEST("测试设备", "test"), diff --git a/app/src/main/java/chaoran/business/activity/MainActivity.java b/app/src/main/java/chaoran/business/activity/MainActivity.java index ea42a64..27e004f 100644 --- a/app/src/main/java/chaoran/business/activity/MainActivity.java +++ b/app/src/main/java/chaoran/business/activity/MainActivity.java @@ -92,6 +92,8 @@ public class MainActivity extends AppCompatActivity implements ResultListener{ break; case ZEBRA_TECHNOLOGIES: adapter = new ZebraAdapter(this, this); + case HISENSE: + adapter = new HisenseAdapter(this, this); } if (null != adapter) { adapter.start(); diff --git a/app/src/main/java/chaoran/business/adapter/HisenseAdapter.java b/app/src/main/java/chaoran/business/adapter/HisenseAdapter.java new file mode 100644 index 0000000..2b658a2 --- /dev/null +++ b/app/src/main/java/chaoran/business/adapter/HisenseAdapter.java @@ -0,0 +1,53 @@ +package chaoran.business.adapter; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; + +import chaoran.business.activity.ResultListener; +import chaoran.business.strategy.Strategy; + +public class HisenseAdapter implements Adapter { + private Context context; + private ResultListener resultListener; + private Strategy strategy; + + + public HisenseAdapter(Context context, ResultListener resultListener) { + this.context = context; + this.resultListener = resultListener; + strategy = new Receiver(); + } + + @Override + public void start() { + strategy.executeStrategy(resultListener); + } + + @Override + public void stop() { + strategy.exclusiveStrategy(); + } + + public class Receiver extends BroadcastReceiver implements Strategy { + + @Override + public void onReceive(Context context, Intent intent) { + resultListener.result(intent.getStringExtra("msg")); + } + + @Override + public void executeStrategy(ResultListener resultListener) { + IntentFilter filter = new IntentFilter(); + filter.addAction("chaoran"); + filter.setPriority(2); + context.registerReceiver(this, filter); + } + + @Override + public void exclusiveStrategy() { + context.unregisterReceiver(this); + } + } +}