From 4aa71457fe43b5846413d8189e6da44b39defd89 Mon Sep 17 00:00:00 2001 From: wujie Date: Fri, 21 Apr 2023 15:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=8D=E5=B0=BC=E9=9F=A6=E5=B0=94=E7=9A=84?= =?UTF-8?q?=E7=9B=91=E5=90=AC=E4=BF=AE=E6=94=B9=EF=BC=88=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E7=BD=91=E7=AB=99=E4=BA=8C=E7=BB=B4=E7=A0=81=E8=B7=B3=E5=87=BA?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=EF=BC=8C=E7=9B=91=E5=90=AC=E5=A4=B1=E6=95=88?= =?UTF-8?q?=EF=BC=8C=E8=B0=83=E6=95=B4=EF=BC=89=E3=80=81=E6=96=91=E9=A9=AC?= =?UTF-8?q?PDA=E5=B9=BF=E6=92=AD=E6=A8=A1=E5=BC=8F=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 9 ++-- .../main/java/chaoran/business/BrandEnum.java | 1 + .../business/activity/MainActivity.java | 4 ++ .../business/adapter/HoneywellAdapter.java | 1 + .../business/adapter/ZebraAdapter.java | 53 +++++++++++++++++++ 5 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/chaoran/business/adapter/ZebraAdapter.java diff --git a/app/build.gradle b/app/build.gradle index ea68322..483d502 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,10 +8,13 @@ android { defaultConfig { applicationId "chaoran.business.pda" - minSdkVersion 26 - targetSdkVersion 29 + minSdk 28 + targetSdk 28 versionCode 1 - versionName "1.0" + versionName "1.1" + + // 1.0 IDATA广播模式处理 + // 1.1 霍尼韦尔的监听修改(扫描网站二维码跳出程序,监听失效,调整)、斑马PDA广播模式设置 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/chaoran/business/BrandEnum.java b/app/src/main/java/chaoran/business/BrandEnum.java index fd9a253..e87c45c 100644 --- a/app/src/main/java/chaoran/business/BrandEnum.java +++ b/app/src/main/java/chaoran/business/BrandEnum.java @@ -16,6 +16,7 @@ public enum BrandEnum { IDATA("匿名设备", "idata"), HONEY_WELL_EDA50P("霍尼维尔EDA50P", "mobiwire"), HONEY_WELL_EDA51("霍尼维尔EDA51", "honeywell"), + ZEBRA_TECHNOLOGIES("斑马TP26CK", "zebra technologies"), ALPS("阿尔卑斯", "alps"); private String name; diff --git a/app/src/main/java/chaoran/business/activity/MainActivity.java b/app/src/main/java/chaoran/business/activity/MainActivity.java index 1bea598..ea42a64 100644 --- a/app/src/main/java/chaoran/business/activity/MainActivity.java +++ b/app/src/main/java/chaoran/business/activity/MainActivity.java @@ -90,6 +90,8 @@ public class MainActivity extends AppCompatActivity implements ResultListener{ case HONEY_WELL_EDA51: adapter = new HoneywellAdapter(this, this); break; + case ZEBRA_TECHNOLOGIES: + adapter = new ZebraAdapter(this, this); } if (null != adapter) { adapter.start(); @@ -191,6 +193,8 @@ public class MainActivity extends AppCompatActivity implements ResultListener{ //webView.loadUrl(url()); // voiceEngine.reload(); super.onResume(); + adapter.stop(); + adapter.start(); } @Override diff --git a/app/src/main/java/chaoran/business/adapter/HoneywellAdapter.java b/app/src/main/java/chaoran/business/adapter/HoneywellAdapter.java index b2934d4..89a70d0 100644 --- a/app/src/main/java/chaoran/business/adapter/HoneywellAdapter.java +++ b/app/src/main/java/chaoran/business/adapter/HoneywellAdapter.java @@ -33,6 +33,7 @@ public class HoneywellAdapter implements Adapter { @Override public void stop() { + new ScanServiceEDA50P().onDestroy(); strategy.exclusiveStrategy(); } diff --git a/app/src/main/java/chaoran/business/adapter/ZebraAdapter.java b/app/src/main/java/chaoran/business/adapter/ZebraAdapter.java new file mode 100644 index 0000000..4b94762 --- /dev/null +++ b/app/src/main/java/chaoran/business/adapter/ZebraAdapter.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 ZebraAdapter implements Adapter { + private Context context; + private ResultListener resultListener; + private Strategy strategy; + + + public ZebraAdapter(Context context, ResultListener resultListener) { + this.context = context; + this.resultListener = resultListener; + strategy = new ZebraAdapter.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("com.motorolasolutions.emdk.datawedge.data_string")); + } + + @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); + } + } +}