1

phonegap (html5、JQuery、JS) でアプリを開発しましたが、BT プリンターに印刷するプラグインを開発したいと考えています。

プリンター メーカーの SDK をダウンロードし、適切な .jar ファイルをプロジェクトにインポートし、プロジェクトで必要なすべてのメソッドを含めました。

JS からプリンター メーカー SDK の Java メソッドを呼び出すために、インターネット チュートリアルに従って、以下のプラグインを作成します。

JS

var msgbox = function() {
};

msgbox.prototype.show = function(str, success, fail) {
PhoneGap.exec(success, fail, "msgbox", "show1", [str]);
};
navigator.msgbox = new msgbox();

ジャワ

public class msgbox extends Plugin {

    private static final String SHOW = "show";
    private static final String SHOW1 = "show1";
    private static final Context context = null;
    private static final int MSG_INDEX = 0;
    private String msg;

    @Override

    public PluginResult execute(String arg0, final JSONArray arg1, String arg2) {


        if ( arg0.equals(SHOW1) )
        {
             StarIOPort port = null;
             byte[] texttoprint = new byte[]{0x1b, 0x40, 0x1b,0x74,0x0D,(byte) 0x91,(byte) 0x92,(byte) 0x93,(byte) 0x94,(byte) 0x95,(byte) 0x96,(byte) 0x97,(byte) 0x98,(byte) 0x99,0x0A,0x0A,0x0A,0x0A,0x0A};
             try 
             {
                 port = StarIOPort.getPort("BT:", "mini", 10000);
                 port.writePort(texttoprint, 0, texttoprint.length);
             }
             catch (StarIOPortException e)
             {
                    Builder dialog = new AlertDialog.Builder(ctx);
                    dialog.setNegativeButton("Ok", null);
                    AlertDialog alert = dialog.create();
                    alert.setTitle("Failure");
                    alert.setMessage("Failed to connect to printer");
                    alert.show();    
             }
             finally
             {
                 if(port != null)
                 {
                     try 
                     {
                         StarIOPort.releasePort(port);
                     } catch (StarIOPortException e) {}
                 }
             }
        }
        return new PluginResult(Status.OK);
    }

}

プロジェクトを実行しても、エラーは表示されず、アラートも表示されず、プリンターに出力されません。

私は何が欠けていますか?

4

1 に答える 1

0

あなたのコードは完璧に見えます。

次のコードを config.xml に追加してください:

< plugin name="msgbox" value="Your_Package_name.msgbox ">

于 2013-02-25T14:22:04.703 に答える