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

Don*_*ive 7 javascript java printing android

这是我的代码

在我的活动中,我使用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);
Run Code Online (Sandbox Code Playgroud)

为此,我得到了这些价值观 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
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

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

Wha*_* On 2

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

需要下载没有显示选项

之后前往

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

你会看到这个...

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

在你的代码中只需添加这个

mPrinter = new Printer(Printer.TM_T88, Printer.MODEL_ANK, this);
Run Code Online (Sandbox Code Playgroud)

在这里,我给出了 TM_T88,它支持大多数打印机型号...如果您的打印机型号是特定的,则给出它...手动否则保留上面的代码

这在所有 EPSON 热敏打印机上都能正常工作。