摘要:序公司因為業(yè)務需要,開發(fā)安卓掃描槍打印快遞單之類的,踩了一天的坑,終于在隊友幫助下搞定原理很簡單,利用打印機的通信話不多說,直接擼代碼因為不支持通信,所以需要自己編寫原生去實現(xiàn)連接打印機失敗上面是一個原生方法,怎么寫原生我就不說了,百度下就
序
公司因為業(yè)務需要,開發(fā)安卓掃描槍打印快遞單之類的,踩了一天的坑,終于在隊友幫助下搞定
原理很簡單,利用打印機的socket通信
話不多說,直接擼代碼
因為js不支持Socket通信,所以需要自己編寫原生去實現(xiàn)
@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()); } }
上面是一個原生方法,怎么寫原生我就不說了,百度下就知道
開始的時候也遇到個小坑,VSCode的import java Class 是在糟糕,求看到人推薦個好用的插件,總之就是盡然不識別 promise類!!
啊,尷尬,后來看了下react-native-camera的源碼,看到的是加了
import com.facebook.react.bridge.Promise;
好吧,還是手動引入了(勿噴,本人之前沒寫過原生,總有第一次嘛,?)
之后的話就是在前端調用就可以了
import { NativeModules } from "react-native" NativeModules.PrintExtension.print( printAddr.split(":")[0], printAddr.split(":")[1]*1, "^XA^FO100,75^BY3^B3N,N,100,Y,N^FD123ABC^XZ").then((c) => { console.log(c) if (c!=="success") { Modal.alert("打印失敗", c, [ { text: "確定"}, ]) } },(c)=>{ console.log(c) })
記得之前看過某個人寫的文章說到,你寫RN,就得有寫原生的準備,嗯,現(xiàn)在也是深表同意
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/93721.html
摘要:前奏這篇文章僅對不熟悉在中使用的人以及入門者有幫助?;窘榻B想要實現(xiàn)一種實時的雙向通信聊天系統(tǒng),你可能會想到輪詢長或短,但你最想要的還是的實現(xiàn)??蛻舳说膶崿F(xiàn)端的實現(xiàn),才是我們應該關注的重點。 前奏 這篇文章僅對不熟悉在react中使用socket.io的人、以及websocket入門者有幫助。 下面這個動態(tài)圖展示的聊天系統(tǒng)是用react+express+websocket搭建的,很模糊...
摘要:為了達到這種雙向的實時消息傳遞,很明顯地考慮用來實現(xiàn)。注意這個文件并不能用在實際的項目中,只是用來顯示消息推送的效果而已。參考資料本文在我博客上的原地址利用實現(xiàn)消息實時推送 項目背景介紹 最近在寫的項目中存在著社交模塊,需要實現(xiàn)這樣的一個功能:當發(fā)生了用戶被點贊、評論、關注等操作時,需要由服務器向用戶實時地推送一條消息。最終完成的項目地址為:socket-message-push,這里...
閱讀 1011·2023-04-25 19:35
閱讀 2675·2021-11-22 09:34
閱讀 3708·2021-10-09 09:44
閱讀 1733·2021-09-22 15:25
閱讀 2947·2019-08-29 14:00
閱讀 3382·2019-08-29 11:01
閱讀 2609·2019-08-26 13:26
閱讀 1745·2019-08-23 18:08