使用 Phonegap 将数据传递到本机 Android 应用程序上的 Android 后台服务?
Pass data to Android Background Service on a Native Android Application using Phonegap?
所以这是背景故事:
phonegap 应用程序是一个在线电子商店,它有一个插件(我的团队创建的)用于在订单完成后打印收据。一切正常,但 Phonegap 上的打印时间过长。事实上,每次打印需要 5-6 秒,这并不好 -- 客户希望打印过程更快,减少到 1-2 秒。
但是,这使用 Phonegap 是不可能的,所以我不得不求助于使用本机应用程序。我在示例代码的帮助下创建了一个本地应用程序。 尤里卡!打印只用了 1-2 秒!
附带说明一下,Phonegap 和 Native App 使用相同的打印机库——打印代码完全是一样,只是Native App的性能比Phonegap的要好。
问题出在这里:
1。第三方本机应用程序应仅 运行 在后台(因此 Android 后台服务)
2。 Phonegap 应该能够将订单数据传递给此第三方原生应用的 Android 后台服务,以便它能够打印收据。
所以问题是:我该怎么做?
我目前尝试使用的是 phonegap 插件 (Link)。它可以工作,但是,它会打开第三方应用程序,这一点都不好。我可以在它打开后立即关闭它,但客户想要的是它根本不打开,以免与他们的客户混淆。
非常感谢任何帮助!如果对需要做什么有任何澄清,请添加评论。谢谢!
检查 this article 解释 js
到 native code
调用(或插件开发)。
创建一个测试应用程序,它将执行上面文章中解释的所有步骤。实施后,您将了解如何执行 js
到 native code
调用。
现在,将打印机库添加到您的代码(本机包装器),然后添加您的打印代码(在一个函数中,再次在本机代码中)。从 js
调用此函数。就是这样。
我担心无法在 cordova/phonegap 中创建后台服务,但您可以使用 BroadcastReceiver 或 IntentService 实现支持(本机)应用程序(在没有 UI 的情况下在后台运行)由您从 cordova 插件调用的(显式)意图触发。
有关 < Service (Deep Guide), IntentServices, BroadcastReceiver > (Native) and invoking intent using cordova webIntent(插件)的更多信息。
我想 this 教程可能对您有所帮助。
所以这是背景故事:
phonegap 应用程序是一个在线电子商店,它有一个插件(我的团队创建的)用于在订单完成后打印收据。一切正常,但 Phonegap 上的打印时间过长。事实上,每次打印需要 5-6 秒,这并不好 -- 客户希望打印过程更快,减少到 1-2 秒。
但是,这使用 Phonegap 是不可能的,所以我不得不求助于使用本机应用程序。我在示例代码的帮助下创建了一个本地应用程序。 尤里卡!打印只用了 1-2 秒!
附带说明一下,Phonegap 和 Native App 使用相同的打印机库——打印代码完全是一样,只是Native App的性能比Phonegap的要好。
问题出在这里:
1。第三方本机应用程序应仅 运行 在后台(因此 Android 后台服务)
2。 Phonegap 应该能够将订单数据传递给此第三方原生应用的 Android 后台服务,以便它能够打印收据。
所以问题是:我该怎么做?
我目前尝试使用的是 phonegap 插件 (Link)。它可以工作,但是,它会打开第三方应用程序,这一点都不好。我可以在它打开后立即关闭它,但客户想要的是它根本不打开,以免与他们的客户混淆。
非常感谢任何帮助!如果对需要做什么有任何澄清,请添加评论。谢谢!
检查 this article 解释 js
到 native code
调用(或插件开发)。
创建一个测试应用程序,它将执行上面文章中解释的所有步骤。实施后,您将了解如何执行 js
到 native code
调用。
现在,将打印机库添加到您的代码(本机包装器),然后添加您的打印代码(在一个函数中,再次在本机代码中)。从 js
调用此函数。就是这样。
我担心无法在 cordova/phonegap 中创建后台服务,但您可以使用 BroadcastReceiver 或 IntentService 实现支持(本机)应用程序(在没有 UI 的情况下在后台运行)由您从 cordova 插件调用的(显式)意图触发。 有关 < Service (Deep Guide), IntentServices, BroadcastReceiver > (Native) and invoking intent using cordova webIntent(插件)的更多信息。
我想 this 教程可能对您有所帮助。