You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用RAMBT的情况下让Sunmi V2 Pro本地应用直接打印?

Sunmi V2 Pro 应用内直接打印(无需RAMBT)解决方案
  • 你查阅的应该是通用打印SDK,Sunmi V2 Pro自带内置热敏打印模块,要实现应用内直接打印,必须使用Sunmi官方的设备专属SDK,而非仅支持蓝牙/WiFi的通用版本。

  • 核心实现步骤:

    1. 集成专属SDK:在项目依赖中添加Sunmi Device SDK(针对V2 Pro的适配版本),比如在Gradle中引入:
      implementation 'com.sunmi:sunmi-printer:1.0.0'
      
    2. 配置权限:在AndroidManifest.xml中添加打印相关权限:
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      <uses-permission android:name="com.sunmi.permission.PRINT_SERVICE" />
      
    3. 绑定打印服务:通过绑定系统内置的SunmiPrinterService获取打印实例,无需额外蓝牙/WiFi配对
    4. 调用打印API:直接使用SDK提供的方法发送打印指令,无需依赖RAMBT中转
  • 关键代码示例:

    private ServiceConnection printServiceConn = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
            SunmiPrinterService printerService = SunmiPrinterService.Stub.asInterface(iBinder);
            try {
                // 打印文本内容
                printerService.printText("订单编号:20240520001\n", null);
                printerService.printText("商品名称:测试商品\n", null);
                // 执行走纸操作
                printerService.lineWrap(2);
                // 切纸(V2 Pro支持自动切纸)
                printerService.cutPaper();
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onServiceDisconnected(ComponentName componentName) {}
    };
    
    // 在Activity启动时绑定服务
    @Override
    protected void onResume() {
        super.onResume();
        Intent intent = new Intent();
        intent.setComponent(new ComponentName("com.sunmi.printer", "com.sunmi.printer.service.SunmiPrinterService"));
        bindService(intent, printServiceConn, BIND_AUTO_CREATE);
    }
    
    // 在Activity销毁时解绑服务
    @Override
    protected void onPause() {
        super.onPause();
        unbindService(printServiceConn);
    }
    
  • 额外注意事项:

    • 动态申请必要权限,避免因权限不足导致打印失败
    • 混淆规则中需排除打印SDK相关类,在proguard-rules.pro添加:
      -keep class com.sunmi.printer.** { *; }
      -keep interface com.sunmi.printer.** { *; }
      
    • 必须在Sunmi V2 Pro真机上测试,模拟器无法模拟内置打印硬件

内容的提问来源于stack exchange,提问作者Mazco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:37:11