From b9897fa0c65e6ed3053facf8943333aba2bad387 Mon Sep 17 00:00:00 2001 From: yao-1212 <59220794+yao-1212@users.noreply.github.com> Date: Mon, 22 Dec 2025 16:10:05 +0800 Subject: [PATCH] =?UTF-8?q?2.14=20=E9=80=82=E9=85=8D=20AIFUU=20=E9=99=88?= =?UTF-8?q?=E5=AE=89=E8=89=AF=EF=BC=9A=E9=99=86=E5=86=9B=E7=89=B9=E8=89=B2?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=8C=BB=E9=99=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 3 +- .../main/java/chaoran/business/BrandEnum.java | 1 + .../business/activity/MainActivity.java | 3 ++ .../business/adapter/AifuuAdapter.java | 54 +++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/chaoran/business/adapter/AifuuAdapter.java diff --git a/app/build.gradle b/app/build.gradle index 2db739d..8d5d453 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 28 targetSdk 28 versionCode 1 - versionName "2.13" + versionName "2.14" // 1.0 IDATA广播模式处理 // 1.1 霍尼韦尔的监听修改(扫描网站二维码跳出程序,监听失效,调整)、斑马PDA广播模式设置 @@ -49,6 +49,7 @@ android { // 2.12 群创科技接入广播模式 中山市古镇人民医院 蒋凡 // 2.13 取消监听旋转角度,使用系统自带的旋转(根据配置初始化,旋转方向:横、竖、随意) // 瑞芯适配器 接入 新的型号,使用的是 ttyS8;而不是ttyS1;并且只有一个接口。 + // 2.14 适配 AIFUU 陈安良:陆军特色中心医院 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" ndk { abiFilters 'armeabi-v7a' diff --git a/app/src/main/java/chaoran/business/BrandEnum.java b/app/src/main/java/chaoran/business/BrandEnum.java index 4e09572..12cd079 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() + AIFUU("AIFUU", "AIFUU"), HORIEMTECH("群创科技", "Horiemtech"), QUALCOMM("qualcomm", "qualcomm"), IOT_DEVICE("新大陆", "iot_device"), diff --git a/app/src/main/java/chaoran/business/activity/MainActivity.java b/app/src/main/java/chaoran/business/activity/MainActivity.java index 2180214..d75e372 100644 --- a/app/src/main/java/chaoran/business/activity/MainActivity.java +++ b/app/src/main/java/chaoran/business/activity/MainActivity.java @@ -200,6 +200,9 @@ public class MainActivity extends AppCompatActivity implements ResultListener{ case HORIEMTECH: adapter = new HoriemtechAdapter(this, this); break; + case AIFUU: + adapter = new AifuuAdapter(this, this); + break; default: adapter = new DefaultAdapter(this, this); } diff --git a/app/src/main/java/chaoran/business/adapter/AifuuAdapter.java b/app/src/main/java/chaoran/business/adapter/AifuuAdapter.java new file mode 100644 index 0000000..ee888e6 --- /dev/null +++ b/app/src/main/java/chaoran/business/adapter/AifuuAdapter.java @@ -0,0 +1,54 @@ +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; + +/** + * AIFUU 陆军特色中心医院 陈安良 + */ +public class AifuuAdapter implements Adapter { + private Context context; + private Strategy strategy; + private ResultListener resultListener; + + public AifuuAdapter(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("code")); + } + + @Override + public void executeStrategy(ResultListener resultListener) { + IntentFilter filter = new IntentFilter(); + filter.addAction("com.kte.scan.result"); + context.registerReceiver(this, filter); + } + + @Override + public void exclusiveStrategy() { + context.unregisterReceiver(this); + } + } +}