使用Phonegap将数据传递到原生Android应用程序上的Android后台服务?

时间:2015-05-04 11:30:18

标签: android cordova service phonegap-plugins

所以这里是背景故事:

电话空白应用程序是一个在线电子商店,有一个插件(我的团队已创建),可在订单完成后打印收据。一切都很好,但打印在Phonegap上耗时太长。事实上,每次打印需要5-6秒,这并不好 - 客户希望打印速度更快,大约1-2秒。

但是,这不是可能使用Phonegap,所以我不得不求助于使用本机应用程序。我在示例代码的帮助下创建了一个本机应用程序。 尤里卡!打印只用了1-2秒!
在旁注中,Phonegap和Native App都使用相同的打印机库 - 打印代码完全相同,只是本地应用程序的性能优于Phonegap。

这就是问题所在:

1。第三方原生应用程序应该只在后台运行(因此Android后台服务)

2。 Phonegap应该能够将订单数据传递给第三方原生应用程序的Android后台服务,以便能够打印收据。

所以问题是:我该怎么办?

我目前尝试的是我使用的是一个手机插件插件(Link)。但是,它可以打开第三方应用程序,它并不擅长。我可以在打开后立即将其关闭,但客户想要的是它根本不打开,以避免与客户混淆。

非常感谢任何帮助!如果对需要做什么有任何澄清,请添加评论。谢谢!

2 个答案:

答案 0 :(得分:1)

我担心无法在cordova / phonegap中创建后台服务,但您可以使用BroadcastReceiver或IntentService实现支持(Native)应用程序(在没有UI的情况下运行)由(显式)意图触发你从cordova插件打电话。 更多关于< Service (Deep Guide), IntentServicesBroadcastReceiver> (Native)并使用cordova webIntent(插件)调用intent。

我猜this教程可能对您有帮助。

答案 1 :(得分:0)

检查this article解释jsnative code来电(或插件开发)。

创建一个测试应用,它将实现上文中解释的所有步骤。实施后,您将了解执行jsnative code调用的方式。

现在,将打印机库添加到您的代码(本机包装器),然后添加您的代码进行打印(在一个函数中,再次在本机代码中)。从js调用此函数。那就是它。