【问题标题】:How can I create and start an Intent?如何创建和启动 Intent?
【发布时间】:2013-06-03 19:47:28
【问题描述】:

我想知道如何使用它来创建和启动意图:

“qsrtech.posprintdriver/.printservice”

我下载了 POS 打印机驱动程序 (ESC) 应用程序(这是我尝试访问的应用程序)。

我试过这个:

        String PrintPage = "qsrtech.posprintdriver/.printservice";
        Intent intent = new Intent(Intent.ACTION_MAIN);             
        intent.setComponent(ComponentName.unflattenFromString(PrintPage));             
        intent.addCategory(Intent.CATEGORY_LAUNCHER );             
        startActivity(intent); 

但是,我收到一条错误消息: “未找到处理此意图的活动”

我想知道是否有什么办法可以访问这个意图?问题是我不确定我是从其他应用访问活动还是后台服务(可能是意图服务?)。

这里是详细解释此意图的链接。 http://www.qsrtechnologies.com/aboutposdriver.html

【问题讨论】:

  • 尝试将"qsrtech.posprintdriver/qsrtech.posprintdriver.printservice" 作为您的组件字符串来展开。此外,您似乎没有添加任何数据,所以我怀疑会打印任何内容,您可能需要包含 putExtra("Data", somethingToPrint)
  • 感谢 FoamyGuy 的快速回复。所以你的回答帮助我摆脱了“没有找到处理这个意图的活动”错误。但是,我没有“无法找到显式类,您是否在 androidmanifest.xml 中声明了此活动?”错误。我在我的 androidmanifest.xml 文件中添加了: 。我的项目中没有这个 Java 类(因为我假设它在另一个应用程序中)。关于如何解决这个问题的任何建议?再次感谢。
  • 您可以尝试此处发布的解决方案:stackoverflow.com/questions/5940456/…

标签: java android usb point-of-sale thermal-printer


【解决方案1】:

你可以试试这个:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra("Data", "Test printer\n\n");
sendIntent.setComponent(new ComponentName("qsrtech.posprintdriver","qsrtech.posprintdriver.printservice"));
startService(sendIntent);

【讨论】:

    【解决方案2】:
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra("Data", "Test printer\n\n");
    sendIntent.setComponent(new ComponentName("qsrtech.posprintdriver","qsrtech.posprintdriver.printservice"));
    startService(sendIntent); 
    

    在这里工作就像一个魅力。

    【讨论】:

    • 是的,我只是想确认上述代码是否有效。无论如何,我只能打印字符而不是 ESC 代码。我猜是因为“ESC POS Android Driver”不是免费的,必须购买。是吗?
    猜你喜欢
    • 2011-08-31
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多