У меня возникли проблемы с настройкой прослушивателей 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");
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/506 ... of-printer
Мобильная версия