android - 需要 stariosdk getport 失败建议

标签 android plugins printing bluetooth stario-sdk

我在 phonegap(html5、JQuery、JS)中开发了一个应用程序,我想开发一个插件来打印到 BT 打印机。

我下载了打印机制造商的 SDK,并使用我在项目中需要的所有方法将适当的 .jar 文件导入到我的项目中。

我根据互联网教程创建了一个插件,以便从 JS 调用打印机制造商 SDK 的 JAVA 方法。

当我运行我的测试应用程序时,我总是收到“无法连接到打印机”。

我的java代码如下

public PluginResult execute(String action, JSONArray data, String callbackId) {


    if (NATIVE_ACTION_STRING.equals(action)) {


        this.ctx.runOnUiThread(new Runnable()
        {
            public void run()
            {
                String resultType = null;
                StarIOPort port = null;
                String message = null;
                String portName = "bt:";
                String portSettings = "mini";
                byte[] texttoprint = new byte[]{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(portName, portSettings, 10000, (Context)ctx);

                    try
                    {
                        Thread.sleep(500);
                    }
                    catch(InterruptedException e) {}


                    port.writePort(texttoprint, 0, texttoprint.length);

                    try
                    {
                        Thread.sleep(3000);
                    }
                    catch(InterruptedException e) {}    

                }
                catch (StarIOPortException e)
                {

                    Builder dialog = new AlertDialog.Builder((Context)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 null;
}}

如果有人对StarMicronics SDK有任何了解,请指教。

最佳答案

添加

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>

在你的 list 中

关于android - 需要 stariosdk getport 失败建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025294/

相关文章:

c - 简单的程序在打开文件时导致段错误

printing - 打印 pdf 时边框变细

java - 使用oracle java在jenkins中构建android项目

android - 如何知道android中的进程组

java - 为什么我的plugin.yml 没有加载?布基特

javascript - 使用内部函数重载 JS 插件函数

android - 如何从自定义 View 更改 TextView 的文本?

android - 嵌套滚动 Jetpack Compose

javascript - 在 JQuery 中取消动画

以毫米为单位的 CSS 网格布局(用于打印)