1、集成商米打印依赖
也可以去Maven看一下有没得最新的版本
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.7'
implementation group: 'com.sunmi', name: 'printerlibrary', version: '1.0.14'
2、规范调用接口
个人习惯,先写接口,再写功能实现类
import android.content.Context;
/**
* sunMi 内置打印机
*
* @author Tellsea
* @date 2021-8-2
*/
public interface SunMiPrintingService {
/**
* 打开钱箱
*/
void openDrawer();
}
实现接口
/**
* @author Tellsea
* @date 2021-8-11
*/
public class SunMiPrintingServiceImpl implements SunMiPrintingService {
private SunmiPrinterService sunmiPrinterService;
@Override
@JavascriptInterface
public void openDrawer() {
try {
byte[] data = new byte[5];
data[0] = 0x10;
data[1] = 0x14;
data[2] = 0x00;
data[3] = 0x00;
data[4] = 0x00;
sunmiPrinterService.sendRAWData(data, null);
} catch (RemoteException e) {
System.out.println("打开钱箱失败");
e.printStackTrace();
}
}
}
3、MainActivity初始化接口
// 商米打印机初始化
SunMiPrintingService sunmiPrintingService = new SunMiPrintingServiceImpl();
sunmiPrintingService.bindServicePrinting();
4、Uniapp调用方法
在接口方法已经使用了@JavascriptInterface注解,可以使用JavaScript直接调用
/**
* 打开钱箱
*/
function openDrawer() {
window.sunMiPrinting.openDrawer();
}
技术分享区