我把界面美化了一下
Android-SerialPort-API-master源码
1.加了发送按钮
2.加上固定/dev/ttyGS1和GS9
串口权限问题已经查清楚了。app与PosServer都是使用google的SerialPort方案。我做的app 都多使用一个函数available(),这个函数是非常有用的。在上位机发送单条指令不连续时,可以先用available()判断是否有接收数据,有就延时几毫秒,指令指令时能防止被截断,这在读写IMEI时非常常见,modem发送不是我能控制的。
在我们自己开发上位机时,一般是先拼好数据再一起发送,单条指令不连续是不存在的,也可以不用这个函数。
另外,之前采用adb方式通信,连接慢、不稳定、中断、offline等,串口还是更好些。没有其它的USB方式。
建议:
1.后续改AP 串口权限时,一定要开齐全,开发应用才能比较灵活。allow system_app serial_device:chr_file { read write getattr open }; 当前可能所有型号串口都少了getattr权限。还有linux权限。
2.后期app是能兼容一下的,临时去掉函数available()。
adb kill-serveradb rootadb shell setenforce 0adb shell chmod -R 777 /dev/ttyUSB0
adb shell chmod -R 777 /dev/ttyUSB1
adb shell chmod -R 777 /dev/ttyUSB2
adb shell chmod -R 777 /dev/ttyUSB3
adb shell chmod -R 777 /dev/ttyUSB5adb shell chmod -R 777 /dev/ttyCOM0
adb shell chmod -R 777 /dev/ttyCOM1
adb shell chmod -R 777 /dev/ttyFIQ0
adb shell chmod -R 777 /dev/ttyGS0
adb shell chmod -R 777 /dev/ttyGS1
adb shell chmod -R 777 /dev/ttyS1
adb shell chmod -R 777 /dev/ttyS9
adb shell chmod -R 777 /dev/ttyS6adb shell am start -n com.azhon.spplus/.MainActivity::F310A_WriteIMEI -DWadb.exe forward tcp:5902 tcp:5902pause