序
公司因为业务需要,开发安卓扫描枪打印快递单之类的,踩了一天的坑,终于在队友帮助下搞定
原理很简单,利用打印机的socket通信
话不多说,直接撸代码
因为js不支持Socket通信,所以需要自己编写原生去实现
@ReactMethod
public void print(String ip,Integer port, String msg, Promise promise) {
try{
Socket socket = new Socket(ip, port);
if (socket.isConnected() ) {
InputStream inputStream = socket.getInputStream();
OutputStream os = socket.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
bw.write(msg);
bw.flush();
promise.resolve("success");
} else {
promise.reject("连接打印机失败");
}
}catch (Exception ex){
promise.reject(ex.fillInStackTrace());
}
}
上面是一个原生方法,怎么写原生我就不说了,百度下就知道
开始