我正在尝试从我的Android自助服务终端/平板电脑打印一个转弯号码。用户只需按下图像按钮即可打印转弯。 自助服务终端连接到USB Epson TM-T20打印机。
我下载了epson提供的示例EPOS2_Printer应用程序,我构建了它的APK,它在自助服务终端上工作正常,所以我尝试使用它的代码并将其集成到我想要做的事情中。问题是我无法在没有用户交互的情况下发现和选择打印机。
示例EPSON提供了DiscoveryActivity,其中应用程序搜索已连接的设备,您可以从搜索结果中选择所需的设备,并将您带回预先填充目标字段的主要活动。 我试图保持相同的活动,并点击,进行发现并获得目标(只有1台打印机)并打印到它。
阅读本文:Epson printer connect fails status ERR_CONN下面的评论说使用Discover.start来获取目标,但是如何将它与Printer.connect集成?
我可以分享代码,只是希望尽可能地缩短代码。
任何帮助表示赞赏!
答案 0 :(得分:2)
请分享您的代码
你尝试过这样的事吗?
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();
}