1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android 无sdk usb/蓝牙 连接热敏打印机外卖小票打印

android 无sdk usb/蓝牙 连接热敏打印机外卖小票打印

时间:2020-12-17 03:00:09

相关推荐

android 无sdk usb/蓝牙 连接热敏打印机外卖小票打印

这是部分代码

获取代码 ->发送标题作为验证信息到该邮箱itperson@ ​​​​​​

/** js spi 蓝牙连接 接收 mac address ;返回mac address */@UniJSMethodpublic void bluetoothConnect(String macAddress, UniJSCallback callback) {checkPermission();/* 连接前先关闭之前连接的打印机 */closePort();new DeviceConnFactoryManager.Build().setId(id).setConnMethod(DeviceConnFactoryManager.CONN_METHOD.BLUETOOTH).setMacAddress(macAddress).build();//配置完信息,就可以打开端口连接了Log.i("TAG", ":连接蓝牙"+id);threadPool = ThreadPool.getInstantiation();threadPool.addTask(new Runnable() {@Overridepublic void run() {DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].openPort();}});callback.invoke(getConnDeviceInfo());}/** js spi 获取usb设备列表 返回usb列表数据*/@UniJSMethod(uiThread = false)public void getUsbDeviceList(UniJSCallback callback){//获取USB管理器usbManager = (UsbManager) Application.getApplication().getSystemService(Context.USB_SERVICE);HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList();ArrayList<UsbDevice> usbDeviceList = new ArrayList<>();int count = deviceList.size();Log.d("设备数量----", "count " + count);if (count>0){// TODO 需要过滤掉出入设备usbDeviceList.addAll(deviceList.values());}callback.invokeAndKeepAlive(usbDeviceList);}/** js spi usb连接 接收USB设备名称 ;返回连接设备名称*/@UniJSMethodpublic void usbConnect(String usbName, JSCallback callback) throws JSONException {Log.i("TAG", ":USB连接"+usbName);// String usbName = jsonObject.getString("deviceName");/* 注册连接广播 */initBroadcast();/* 连接前先关闭之前连接的打印机 */closePort();Log.i("TAG", ":USB连接---"+usbName);//通过USB设备名找到USB设备UsbDevice usbDevice = MqUtils.getUsbDeviceFromName(Application.getApplication(), usbName);//判断USB设备是否有权限if (usbManager.hasPermission(usbDevice)) {usbConn(usbDevice);} else {//请求权限mPermissionIntent = PendingIntent.getBroadcast(Application.getApplication(), 0, new Intent(ACTION_USB_PERMISSION), 0);usbManager.requestPermission(usbDevice, mPermissionIntent);}callback.invoke(getConnDeviceInfo());}/** js api 打印 测试不用传json值 */@UniJSMethodpublic void printerContent(JSONObject json) {Log.i("TAG", "准备打印");threadPool = ThreadPool.getInstantiation();threadPool.addTask(new Runnable() {@Overridepublic void run() {//先判断打印机是否连接if (DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id] == null || !DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].getConnState()) {mHandler.obtainMessage(CONN_PRINTER).sendToTarget();}if (DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].getCurrentPrinterCommand() == PrinterCommand.ESC) {DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].sendDataImmediately(PrintContent.printer());} else {mHandler.obtainMessage(PRINTER_COMMAND_ERROR).sendToTarget();}}});}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。