繁体   English   中英

Android EPSON热点打印来自网页视图的数据点击?如果找不到打印机?

[英]Android EPSON thermal Print data from web-view on click?If Printer Not Found?

这是我的代码

在我的活动中,我使用Epson SDK将数据表单web-view打印到android活动中。

所以在Web-veiw Onclick它将启动打印机活动,它将打印

我想要做的是......从Web视图点击它将打开打印机活动,以便打印和退出...

所以在这里我创建了一个Web视图...在JS的帮助下,它打开我的活动表单Web-view(onclick)直到现在它很好......但我试图添加打印并退出.. onclick但它不是工作...因为我需要选择语言和打印机模型....

但是在shared_DiscoveryActivity中,我正在添加打印机并将其保存在共享的首选项中...所以它不会再问......它的工作原理

所以我的问题就是这样

1)打印机要求型号和语言也可以任何人建议我如何手动给他们而不是选择这里是旧代码

mPrinter = new Printer(((SpnModelsItem) mSpnSeries.getSelectedItem()).getModelConstant(),
                           ((SpnModelsItem) mSpnLang.getSelectedItem()).getModelConstant(),
                           mContext);

为此,我在System.out.print获得了这些值

System.out:----- spnSeries -----android.widget.Spinner{24440249 VFED..C. ........ 0,444-466,516 #7f0e007b app:id/spnModel}
System.out: ----- lang -----android.widget.Spinner{1a6c617c VFED..C. ........ 0,604-366,676 #7f0e007d app:id/spnLang}
System.out: ----- printer -----com.epson.epos2.printer.Printer@b8250d6

2)这是主要问题我在这里定义打印机共享Pinter所以在我的代码中它将检查该地址上的打印机

但在这里如果找不到打印机我该怎么办...

因为在webview打印机将从后端开始..但应用程序仍然在webview所以它崩溃...请建议我这样

更新1

这里我添加了一个新文件Test_P

这将在后台打印,而不向用户显示任何信息OnClick它将开始打印在这里我的问题是,如果打印机处于脱机状态或用户不在同一网络应用程序崩溃而不是我试图给出一个消息打印是不可用的/ Conffiged请再试一次......但文字或提示不显示。

我遇到此错误如果打印机处于脱机状态或未找到

FATAL EXCEPTION: main
Process: com.epson.epos2_printer, PID: 15489
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getString(int)' on a null object reference
at com.epson.epos2_printer.ShowMsg.showException(ShowMsg.java:16)
at com.epson.epos2_printer.Test_P.connectPrinter(Test_P.java:173)
at com.epson.epos2_printer.Test_P.printData(Test_P.java:249)
at com.epson.epos2_printer.Test_P.runPrintReceiptSequence(Test_P.java:295)
at com.epson.epos2_printer.Test_P.access$200(Test_P.java:33)
at com.epson.epos2_printer.Test_P$2.run(Test_P.java:128)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5408)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)

实际上如果打印机不可用它应该去配置打印机,然后再打印,,,但我试图制作一个消息,但它崩溃请帮助我这个谢谢....

检查[Epson ePOS SDK for Android User Manual][1]

您需要下载没有显示选项

之后去

  1. 打印机选择(类初始化)初始化Printer类并选择要控制的打印机。

你会看到这个......

Printer printer = null;
try {
printer = new Printer(Printer.TM_T88, Printer.MODEL_ANK, this);
}
catch (Epos2Exception e) {
//Displays error messages
}

在您的代码中添加此内容

mPrinter = new Printer(Printer.TM_T88, Printer.MODEL_ANK, this);

在这里我给它TM_T88它支持大多数打印机型号......如果您的打印机型号是特定的,那么给它...手动或者保持高于代码

这适用于所有EPSON热敏打印机..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM