为Android创建位置跟踪应用程序:本机还是phonegap?

为Android创建位置跟踪应用程序:本机还是phonegap?,android,cordova,geolocation,Android,Cordova,Geolocation,我们需要创建一个应用程序,用于员工的时间跟踪和位置跟踪。 我们只想为Android编程,但我们没有任何Android技能 因此,phonegap成为了一个很好的选择。 但是有几个问题,我在网上找不到明确的答案 如果手机处于待机状态,phonegap应用程序是否仍能发送位置数据?这仍然是phonegap标准还是我需要使用插件 智能手机将非常简单和便宜。是否存在更高的风险,即phonegap应用程序被Android关闭以释放内存,然后用于本机应用程序 总而言之,建议您花点时间学习Android,

我们需要创建一个应用程序,用于员工的时间跟踪和位置跟踪。 我们只想为Android编程,但我们没有任何Android技能

因此,phonegap成为了一个很好的选择。 但是有几个问题,我在网上找不到明确的答案

  • 如果手机处于待机状态,phonegap应用程序是否仍能发送位置数据?这仍然是phonegap标准还是我需要使用插件

  • 智能手机将非常简单和便宜。是否存在更高的风险,即phonegap应用程序被Android关闭以释放内存,然后用于本机应用程序


总而言之,建议您花点时间学习Android,还是留在我们的语言JS更好?

使用phonegap编写位置跟踪应用程序是完全可行的,它可以a)在低规格Android手机上以性能良好的方式工作,b)在手机处于待机状态时让应用程序在后台运行模式

为了让应用程序在android上的后台运行,需要获得部分唤醒锁(请参阅)。在phonegap中,您需要使用插件来实现这一点。从好的方面来说,这样做是有必要的。缺点是,为了使用自定义插件,您将无法使用方便的方法构建应用程序,因此需要通过EclipseIDE执行手动过程,但设置起来并不麻烦(请参阅)

如果你的应用程序因为android内存不足而关闭,并且在廉价、低规格的设备上响应性地运行,那么只要你小心地以最佳方式编写javascript代码,这就不会成为问题。我已经使用phonegap实现了一个位置跟踪应用程序,该应用程序使用自定义地图,并在包括HTC Desire和HTC Wildfire在内的旧android设备上进行了测试,性能可以接受,部分wakelock工作正常-我没有因内存不足而关闭该应用程序的问题

我之所以选择phonegap而不是native,是因为我是一名web开发人员,所以Javascript对我来说比从头开始使用Java和android SDK更方便,也因为我能够使用相同的JS代码库和适当的插件为iOS生成相同的应用程序。Phonegap能够访问设备上的GPS硬件,在室外测试中,我发现根据设备的不同,平均精度在4到8米之间。
希望这有帮助

谢谢,Dpa99c,很高兴听到它对您有用,但经过长时间的讨论,我们最终决定雇佣一名自由职业者在本地实现它。他的策略是使用安卓服务,即使应用程序被操作系统关闭,安卓服务仍然保持活力;使用第二个轻安卓服务,如果第一个安卓服务也被关闭,安卓服务将恢复活力。您好@VintageOnRails,您知道安卓服务的名称吗?在应用程序关闭后,安卓服务将保持应用程序的活力。