Я использую принтер Epson TM-P80, который подключен к моему устройству Android 7 с помощью Epsons Android SDK .Принтер подключен через Bluetooth, и я могу печатать из моего приложения.
У меня проблемы с настройкой прослушивателей setReceiveEventListener()
, setConnectionEventListener()
и setStatusChangeEventListener()
, чтобы я мог непрерывно отслеживать состояние принтера и отображать предупреждения о низком заряде батареи, низком уровне бумаги, замятии бумаги,крышка открыта, отсоединение и т. д.
При вызове connectPrinter()
(с помощью кнопки для тестирования) сработает прослушиватель onPtrStatusChange()
, но только один раз .Я ожидал, что mPrinter.setInterval(1000);
будет сообщать каждую секунду, но это не так.onConnection()
никогда не называется.Что я делаю неправильно?
открытый класс MainActivity расширяет Activity, реализует View.OnClickListener, ReceiveListener, ConnectionListener, StatusChangeListener {
private Printer mPrinter = null;
private boolean connectPrinter() {
boolean isBeginTransaction = false;
if (mPrinter == null) {
return false;
}
try {
//mPrinter.connect(mEditTarget.getText().toString(), Printer.PARAM_DEFAULT);
mPrinter.connect("BT:00:01:03:AA:BB:CC", Printer.PARAM_DEFAULT);
// Register the Event Listners
mPrinter.setReceiveEventListener(this);
mPrinter.setConnectionEventListener(this);
mPrinter.setStatusChangeEventListener(this);
// Start monitoring
mPrinter.startMonitor();
mPrinter.setInterval(1000);
}
catch (Exception e) {
ShowMsg.showException(e, "connect", mContext);
return false;
}
@Override
public void onPtrStatusChange(Printer printer, int i) {
// This is only called once
System.out.println("onPtrStatusChange ");
}
@Override
public void onConnection(Object o, int i) {
// This is never outputted
System.out.println("onConnection");
}
}
}
Здесь вы можете просмотреть документы SDK Документы Epson EPos Android SDK