【问题标题】:Android EPSON thermal Print data from web-view on click?If Printer Not Found?Android EPSON 热敏打印数据从网络视图点击?如果未找到打印机?
【发布时间】:2017-09-19 09:08:00
【问题描述】:

这是my Code here

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

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

我想要做的是.....从 Web 视图中的 OnClick 它将打开打印机活动,以便它应该打印并退出......

所以在这里我创建了一个 Web 视图...在 JS 的帮助下它仍然打开我的活动表单 Web 视图(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) 这是主要问题 在这里,我在 Shared Pinter 中定义打印机,因此在我的代码中它将检查该地址上的打印机

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

因为在 webview 打印机将在后端启动..但应用程序仍然在 webview 所以它崩溃了......请在这种情况下给我建议

更新 1

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

这将在后台打印,而不向用户显示任何信息 OnClick 它将在此处开始打印不可用/已配置请重试...但未显示文本或警报。

如果打印机离线或未找到,我会收到此错误

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)

实际上,如果打印机不可用,它应该转到配置打印机,然后再次打印,,,但是我试图制作一个味精,但它崩溃了请帮助我,谢谢......

【问题讨论】:

    标签: javascript java android printing


    【解决方案1】:

    一次检查[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 热敏打印机..

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 2019-02-14
      • 2022-10-17
      • 1970-01-01
      • 2012-01-21
      • 2013-03-20
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      相关资源
      最近更新 更多