diff --git a/app/build.gradle b/app/build.gradle index 864c620..c7b181e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { minSdk 28 targetSdk 28 versionCode 1 - versionName "2.17" + versionName "2.18" // 1.0 IDATA广播模式处理 // 1.1 霍尼韦尔的监听修改(扫描网站二维码跳出程序,监听失效,调整)、斑马PDA广播模式设置 @@ -53,6 +53,8 @@ android { // 2.15 添加文件选择和相机拍照功能 // 2.16 暴露了一个直接调用相机的方法,非http input调用会出现默认的弹出窗口进行选择(相机、文件) // 2.17 支持原生相机,默认压缩;支持霍尼韦尔eda52服务扫描 + // 2.18 瑞兴平板,rk3568_r,存在两个ttyS8、ttyS1,2G内存之前是ttyS8才可以接收,4G内存的ttyS8直接报错,导致打不开,需要缓存ttyS1,改成兼容模式 + // 支持霍尼韦尔eda52服务扫描修改成广播模式,医院那边不要所谓的服务连续扫描 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" ndk { abiFilters 'armeabi-v7a' diff --git a/app/src/main/java/chaoran/business/activity/MainActivity.java b/app/src/main/java/chaoran/business/activity/MainActivity.java index 0f1669b..276c127 100644 --- a/app/src/main/java/chaoran/business/activity/MainActivity.java +++ b/app/src/main/java/chaoran/business/activity/MainActivity.java @@ -167,7 +167,7 @@ public class MainActivity extends AppCompatActivity implements ResultListener{ if ( "eda50p".equals(Build.MODEL.toLowerCase()) || "eda51".equals(Build.MODEL.toLowerCase()) - || "eda52".equals(Build.MODEL.toLowerCase()) +// || "eda52".equals(Build.MODEL.toLowerCase()) // todo || "tc26".equals(Build.MODEL.toLowerCase()) ) { // 走服务模式 diff --git a/app/src/main/java/chaoran/business/adapter/RockChipAdapter.java b/app/src/main/java/chaoran/business/adapter/RockChipAdapter.java index 64b1164..617cab5 100644 --- a/app/src/main/java/chaoran/business/adapter/RockChipAdapter.java +++ b/app/src/main/java/chaoran/business/adapter/RockChipAdapter.java @@ -46,7 +46,7 @@ public class RockChipAdapter implements Adapter { if (Build.MODEL.equalsIgnoreCase("rk3568_r")) { fileName = "/dev/ttyS8"; } - this.strategy = new Reader(new File(fileName), 115200, 0); + this.strategy = new Reader(new File(fileName), 115200, 0, fileName); } public class Reader implements Strategy { @@ -54,7 +54,7 @@ public class RockChipAdapter implements Adapter { private FileInputStream mFileInputStream; private boolean running = true; - public Reader(File device, int baudrate, int flags) { + public Reader(File device, int baudrate, int flags, String fileName) { if (!device.canRead() || !device.canWrite()) { try { @@ -73,6 +73,10 @@ public class RockChipAdapter implements Adapter { } mFd = open(device.getAbsolutePath(), baudrate, flags); if (mFd == null) { + if (!"/dev/ttyS1".equals(fileName)) { + strategy = new Reader(new File("/dev/ttyS1"), 115200, 0, "/dev/ttyS1"); + return; + } System.out.println("获取文件描述符失败!"); } mFileInputStream = new FileInputStream(mFd);