2017-04-22 1 views
7

これには、WebベースveiwにOnclickにそれは、プリンタの活動を開始し、それはAndroid EPSONサーマルクリックでウェブビューのデータを印刷する?プリンタが見つからない場合は?

を印刷します..私はアンドロイドの活動へのデータ形式のWebビューを印刷するエプソンSDKを使用しています。ここに私の活動で

my Code here

です私がやろうとしています何

さ.....クリック時、それは印刷して終了しなければならないように、ウェブ閲覧から、それは、だからここに私は、Webビューを作成している...

をプリンタアクティビティを開きます。.. 。JSの助けを借りて私の活動形態をWebビュー(onclick)まで開いて、今のところは素晴らしい...しかし、私はtri印刷を終了して終了.. 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 [email protected] 

2)で、これらの値を得ましたプリンタが見つからない場合は、オンの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) 

を見つからない場合は、プリンタが利用できない場合は実際にはコンフィグプリンタに行くべき。そして、再び印刷し、このエラーを取得しています,,,しかし、私はMSGを作ってみましたが、そのこのおかげで私を助けてくださいクラッシュ....

答えて

2

一度あなたがそれを

  1. プリンタの選択(クラスの初期化) プリンタクラスを初期化し、プリンタを選択しに行く後に何も表示オプション

    はありませんダウンロードする必要が[Epson ePOS SDK for Android User Manual][1]

    をチェック制御する。あなたがこの...あなたのコードで

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

    ちょうどここで私はそれがプリンタのモデルのほとんどをサポートしていますTM_T88を与えている...あなたの場合は、この

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

    を追加表示されます

プリンタモデルは特定ですそれから...手動または他のコードを維持してください

これはすべてのEPSONサーマルプリンタで正常に動作します..

+0

お返事ありがとうございますあなたは私の更新された質問を確認してください –