我正在尝试使用NexGo SDK通过NexGo p200打印收据,但是当我运行应用程序时,我得到了下图所示的错误。
该守则是:
public void print() {
try {
deviceEngine =APIProxy.getDeviceEngine(MainActivity.this);
Log.e("device",deviceEngine.toString());
}catch (RuntimeException e){
e.printStackTrace();
}
printer = deviceEngine.getPrinter();
printer.setTypeface(Typeface.DEFAULT);
printer.initPrinter();
printer.setTypeface(Typeface.DEFAULT);
printer.setLetterSpacing(5);
printer.appendPrnStr(getString(R.string.print_merchantname), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_merchantno), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_terminalno), getString(R.string.print_operator), 24, false);
printer.appendPrnStr(getString(R.string.print_issurebank), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_shoudan), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_expiredate), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.cardnum), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_cardinfo), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_tradetype), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_batchno), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_voucher), getString(R.string.print_authorcode), 24, false);
printer.appendPrnStr(getString(R.string.print_refrenceno), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_tradedate), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_amount), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.money), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_beizhu), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_originalvoucher), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_addinfo), 24, AlignEnum.LEFT, false);
printer.appendBarcode(getString(R.string.print_barcode), 50, 0, 2, BarcodeFormatEnum.CODE_128, AlignEnum.CENTER);
printer.appendQRcode(getString(R.string.print_qrcode), 200, AlignEnum.CENTER);
printer.appendPrnStr("---------------------------", 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_cardhold), 24, AlignEnum.LEFT, false);
printer.appendPrnStr("\n", 24, AlignEnum.LEFT, false);
printer.appendPrnStr("\n", 24, AlignEnum.LEFT, false);
printer.appendPrnStr("\n", 24, AlignEnum.LEFT, false);
printer.appendPrnStr("---------------------------", 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_cardhold_ensure), 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_cardhold_ensure), 24, AlignEnum.LEFT, false);
printer.appendPrnStr("---------------------------", 24, AlignEnum.LEFT, false);
printer.appendPrnStr(getString(R.string.print_merchant_dan), 24, AlignEnum.RIGHT, false);
printer.startPrint(false, new OnPrintListener() {
@Override
public void onPrintResult(final int retCode) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, retCode + "", Toast.LENGTH_SHORT).show();
}
});
}
});
}
发布于 2021-06-23 16:30:24
这可能与java.library.path
系统属性不正确有关。您可以尝试通过传递-Djava.library.path=<your-directory-containing-the-so-file>
参数来修复它。
https://stackoverflow.com/questions/68096216
复制相似问题