【Android】Android 集成商米钱箱

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();
}
技术分享区

【Android】Android 集成商米钱箱_android