当前位置: 首页 > 知识库问答 >
问题:

在Android(USB TM-T20)中使用EPSON ePOS2打印

薛烈
2023-03-14

我正在试着从我的android kiosk/平板电脑上打印一个轮值号码。用户只需按下图像按钮,就可以打印转弯。该信息亭连接到USB Epson TM-T20打印机。

我下载了epson提供的示例EPOS2_Printer应用程序,我构建了它的APK,它在信息亭上运行良好,所以我试图使用它的代码并将其集成到我正在尝试做的事情中。问题是我无法在没有用户交互的情况下发现和选择打印机。

EPSON提供的示例具有发现活动(DiscoveryActivity),在该活动中,应用程序搜索已连接的设备,您可以从搜索结果中选择所需的设备,然后返回到预填充目标字段的主要活动。我试着保持在同一个活动中,点击一下,进行发现,获取目标(只有一台打印机)并打印到它。

阅读:Epson打印机连接失败状态ERR_CONN下面的评论说使用Discover.start来获取目标,但是你如何将其与P集成rinter.connect?

我可以分享代码,只是想在这里尽可能简短。

感谢您的帮助!

共有1个答案

徐秋月
2023-03-14

请分享你的代码

你试过这样的东西吗?

    printer = new Print(getApplicationContext());

    try {
        // Open 
        printer.openPrinter(
            connectionType,
            openDeviceName,
            Print.FALSE,
            Print.PARAM_DEFAULT,
            Print.PARAM_DEFAULT);
    }
    catch (EposException e) {
        result.setEposException(e);
        return;
    }

    try {
        // Print data if printer is printable 
        printer.getStatus(printerStatus, batteryStatus);
        result.setPrinterStatus(printerStatus[0]);
        result.setBatteryStatus(batteryStatus[0]);

        if (isPrintable(result)) {
            printerStatus[0] = 0;
            batteryStatus[0] = 0;

            printer.beginTransaction();
            isBeginTransaction = true;

            printer.sendData(builder, sendTimeout, printerStatus, batteryStatus);
            result.setPrinterStatus(printerStatus[0]);
            result.setBatteryStatus(batteryStatus[0]);
        }
    }
    catch (EposException e) {
        result.setEposException(e);
    }
    finally {
        if (isBeginTransaction) {
            try {
                printer.endTransaction();
            }
            catch (EposException e) {
                // Do nothing
            }
        }
    }

    try {
        printer.closePrinter();
    }
 类似资料:
  • 我用jsf、ejb和primefaces为我的客户做了一个小系统,他想用他的打印机Epson TM-T20打印一张收据。 我安装了打印机,配置了它并打印了一个word文件,它打印一切正常,打印到没有更多字符的地方,但是当我尝试从网络打印时,一个巨大的空白空间与文档一起打印。我尝试了chrome、safari、ie、Firefox和Opera,看看问题是否出在浏览器上,不是。 我还将打印机配置为删除

  • stack_trace=java.lang.unsatistifiedLinkError:dalvik.system.pathClassLoader[dexpathlist[[zip文件“/data/app/com.iw.infowave-1/base.apk”],nativelibrarydirectories=[/vendor/lib64,/system/lib64]]]在java.lang.

  • 问题内容: 我想从android应用程序中打印文件。同样,在google上搜索后,我发现一些有用的信息,我将不得不在HTTP中使用IPP(Internet打印协议)。而且我是ipp的新手,但是我使用过HTTP。那么有人可以帮我吗?谁能给我一些有用的信息或链接?提前致谢 ? 问题答案: 您需要发出具有一些特殊功能的HTTP PUT请求,您必须: 使用端口631代替80(当然,除非明确指定了端口)。

  • 这是我的源代码 但是结果条形码没有显示出来,是不是漏了什么 请帮帮我 但当我尝试时,还是得到了同样的结果

  • 我试图在Android Studio中创建一个Android应用程序,它与谷歌地图API一起工作。我已经成功地将标记添加到地图上我选择的某个LatLng位置。 单击标记时,它会弹出一个名为“测试”的标题。但我想要的是,当用户点击标记标题时,它必须打开一个新的活动。然而,我似乎无法让它发挥作用。我已经添加了一个onMarkerClick,但是,我无法实现它。我真的很困惑。我尝试添加回调方法,但不确定

  • 我需要一些关于我目前正在进行的项目的指导-我正在进行一个与BLE设备s. t.通信的项目。该设备连接到android手机并偶尔传输一些数据。我看了一些关于BLE与android设备通信的讲座,并阅读了一些关于android 4.3蓝牙API的信息,但有些东西我还没有得到 > 如果我希望我的应用程序向后兼容(高达2.3),这可能吗?他们(Google)在支持包中包含新功能吗? 我在哪里可以找到一些使