在Android(USB TM-T20)中使用EPSON ePOS2打印
我正试图从我的android kiosk/平板电脑打印一个轮次号。用户只需按下图像按钮,就可以打印转弯。 该信息亭连接到USB Epson TM-T20打印机 我下载了爱普生提供的示例EPOS2_打印机应用程序,并构建了它的APK,它在kiosk上运行良好,因此我尝试使用其代码并将其集成到我正在尝试的工作中。问题是我无法在没有用户交互的情况下找到并选择打印机 EPSON提供的示例有一个DiscoveryActivity,应用程序在其中搜索已连接的设备,您可以从搜索结果中选择所需的设备,然后返回主活动,并预先填充目标字段。 我正在尝试保持相同的活动,单击,执行发现并获取目标(只有一台打印机)并打印到它 阅读:下面的评论说使用Discover.start获取目标,但是如何将其与Printer.connect集成 我可以分享代码,只是希望在这里尽可能简短在Android(USB TM-T20)中使用EPSON ePOS2打印,android,printing,epson,epos,Android,Printing,Epson,Epos,我正试图从我的android kiosk/平板电脑打印一个轮次号。用户只需按下图像按钮,就可以打印转弯。 该信息亭连接到USB Epson TM-T20打印机 我下载了爱普生提供的示例EPOS2_打印机应用程序,并构建了它的APK,它在kiosk上运行良好,因此我尝试使用其代码并将其集成到我正在尝试的工作中。问题是我无法在没有用户交互的情况下找到并选择打印机 EPSON提供的示例有一个DiscoveryActivity,应用程序在其中搜索已连接的设备,您可以从搜索结果中选择所需的设备,然后返回主
感谢您的帮助 请分享您的代码 你试过这样的吗
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();
}
请分享你的代码 你试过这样的吗
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();
}
谢谢你的回复。我可以通过添加一个DiscoveryListener来解决这个问题,并将目标打印机保存在一个字符串中:target=deviceInfo.getTarget();该字符串返回USB端口地址。然后我使用mPrinter.connect(target,Printer.PARAM_默认值)连接,
结果是什么?isPrintable()
方法实现在哪里?谢谢您的回复。我可以通过添加一个DiscoveryListener来解决这个问题,并将目标打印机保存在一个字符串中:target=deviceInfo.getTarget();该字符串返回USB端口地址。然后我使用mPrinter.connect(target,Printer.PARAM_默认值)连接,结果是什么?isPrintable()
方法实现在哪里?