Android Web App 以编程方式触发具有架构的本地应用程序

问题描述

我正在 Android POS 机上编写一个简单的 Web 应用程序,该应用程序使用 WebNFC 扫描 mifare 卡,并通过调用 Quick Printer 应用程序使用本地热敏打印机打印收据。一旦检测到 mifare 卡,就会以编程方式触发打印方法。还有一个打印按钮可以手动打印收据。使用 Android Chrome 是因为它是唯一支持 Webnfc 的移动浏览器。

这是打印单据方法的简化代码:(我正在研究 Vue.js)

printSlip: function() {
    var commandsToPrint = "<LEFT>Card Detected<BR>\n"
    var textEncoded = encodeURI(commandsToPrint);
    window.location.href = "intent://" + textEncoded + "#Intent;scheme=quickprinter;package=pe.diegoveloper.printerserverapp;end;"
                

方法由事件监听器触发:

created: async function() {
const ndef = new NDEFReader();
await ndef.scan();

ndef.addEventListener("reading",({
    message,serialNumber
}) => {
    this.printSlip()
});}

方法也可以通过点击按钮触发:

<button type="button" v-on:click="printSlip">Print</button>

打印按钮完全正常,但以编程方式触发的打印在大多数情况下都失败了,而且很少成功(可能是十分之一)。据我了解,问题是 Chrome 出于安全考虑阻止了脚本生成的应用链接

这完全可以理解。但是,由于我的 Web 应用程序是一个内部系统并且只能在指定的设备上运行,有没有办法在 Chrome 上将我的应用程序“列入白名单”或配置 Chrome 以通过开发模式启用脚本生成的应用程序链接?有什么解决方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)