Устройство Sunmi V1s — обратный вызов Java не работает, когда принтер завершает печатьJAVA

Программисты JAVA общаются здесь
Anonymous
Устройство Sunmi V1s — обратный вызов Java не работает, когда принтер завершает печать

Сообщение Anonymous »

Я использую устройство Sunmi V1s и хочу отобразить диалоговое окно после того, как принтер завершит печать всей квитанции. Теперь я могу получить сообщение после завершения обработки запроса, но не могу получить сообщение в тот момент, когда принтер завершит всю печать.

Я использовал демонстрационное приложение для создания обратного вызова, который затем отправляю в класс AidlUtil.

TextActivity

Код: Выделить всё

final PrinterCallback printerCallback = new PrinterCallback() {
@Override
public void onReturnString(String result) {
System.out.println("Finished: " + result); //never prints out, expecting this line to work when Sunmi printer finishes printing
}

@Override
public void onRunResult(boolean success) {
System.out.println("Success: " + success); //prints out immediately after query is sent
}
@Override
public void onRaiseException(String msg) {

}
};
AidlUtil.getInstance().printText(content, size, isBold, isUnderLine, printerCallback);
Класс AidlUtil:

Код: Выделить всё

public void printText(String content, float size, boolean isBold, boolean isUnderLine, PrinterCallback printerCallback) {
if (woyouService == null) {
Toast.makeText(context, R.string.toast_2, Toast.LENGTH_LONG).show();
return;
}

try {
if (isBold) {
woyouService.sendRAWData(ESCUtil.boldOn(), null);
} else {
woyouService.sendRAWData(ESCUtil.boldOff(), null);
}

if (isUnderLine) {
woyouService.sendRAWData(ESCUtil.underlineWithOneDotWidthOn(), null);
} else {
woyouService.sendRAWData(ESCUtil.underlineOff(), null);
}

woyouService.printTextWithFont(content, null, size, generateCB(printerCallback)); //generating ICallback and sending it to printTextWithFont method
woyouService.lineWrap(3, null);
} catch (RemoteException e) {
e.printStackTrace();
}
}
Метод GenerateCB:

Код: Выделить всё

public ICallback generateCB(final PrinterCallback printerCallback){
return new ICallback.Stub(){
@Override
public void onRunResult(boolean isSuccess) throws RemoteException {
printerCallback.onRunResult(isSuccess);
}

@Override
public void onReturnString(String result) throws RemoteException {
printerCallback.onReturnString(result);
}

@Override
public void onRaiseException(int code, String msg) throws RemoteException {
printerCallback.onRaiseException(msg);
}

@Override
public void onPrintResult(int code, String msg) throws RemoteException {
}
};
}
В чем может быть проблема? Я ожидаю получить метод System.out.println onReturnString, но этот метод никогда не вызывается

Вернуться в «JAVA»