所以这里是背景故事:
电话空白应用程序是一个在线电子商店,有一个插件(我的团队已创建),可在订单完成后打印收据。一切都很好,但打印在Phonegap上耗时太长。事实上,每次打印需要5-6秒,这并不好 - 客户希望打印速度更快,大约1-2秒。
但是,这不是可能使用Phonegap,所以我不得不求助于使用本机应用程序。我在示例代码的帮助下创建了一个本机应用程序。 尤里卡!打印只用了1-2秒!
在旁注中,Phonegap和Native App都使用相同的打印机库 - 打印代码完全相同,只是本地应用程序的性能优于Phonegap。
这就是问题所在:
1。第三方原生应用程序应该只在后台运行(因此Android后台服务)
2。 Phonegap应该能够将订单数据传递给第三方原生应用程序的Android后台服务,以便能够打印收据。
所以问题是:我该怎么办?
我目前尝试的是我使用的是一个手机插件插件(Link)。但是,它可以打开第三方应用程序,它并不擅长。我可以在打开后立即将其关闭,但客户想要的是它根本不打开,以避免与客户混淆。
非常感谢任何帮助!如果对需要做什么有任何澄清,请添加评论。谢谢!
答案 0 :(得分:1)
我担心无法在cordova / phonegap中创建后台服务,但您可以使用BroadcastReceiver或IntentService实现支持(Native)应用程序(在没有UI的情况下运行)由(显式)意图触发你从cordova插件打电话。 更多关于< Service (Deep Guide), IntentServices,BroadcastReceiver> (Native)并使用cordova webIntent(插件)调用intent。
我猜this教程可能对您有帮助。
答案 1 :(得分:0)
检查this article解释js
到native code
来电(或插件开发)。
创建一个测试应用,它将实现上文中解释的所有步骤。实施后,您将了解执行js
到native code
调用的方式。
现在,将打印机库添加到您的代码(本机包装器),然后添加您的代码进行打印(在一个函数中,再次在本机代码中)。从js
调用此函数。那就是它。