活动在android中被杀死,如何保持活动活跃?

时间:2014-05-07 12:47:00

标签: android cordova android-activity

我正在使用cordova / phonegap开发一个应用程序,它是关于跟踪一个人他的gps位置,因此该应用程序需要长时间处于活动状态

我可以保持应用程序处于活动状态,只要它在内存中,但是当你打开了很多应用程序以至于android需要更多ram空间时它仍会杀死应用程序

我知道android中存在服务,但我不知道如何将它们与phonegap app结合使用

有没有办法让我的应用程序的活动保持在活动堆栈前面,这样它就不会被杀死,或者我可以编写一个本机服务,当它被杀死时重新启动我的应用程序(当它到达时有同样的状态)杀死)

问题的更详细说明 确定如需要更详细的问题描述

我有一个cordova应用程序(html + javascripts) 在我使用navigator.watchposition()的应用程序中,当gps位置发生变化时会调用它 然后我做了一些逻辑并将数据存储在websql数据库中(在设备本身上),据我所知这个数据库只能从webview中访问

现在这个应用程序的重点是你在早上开始它并在晚上停止它(例如让我们说从开始到结束活动10小时)你不需要看到应用程序和屏幕不需要在

当android永远不会耗尽内存时,我得到了活跃的部分工作

因此,我需要做的就是启动应用程序 - >按主页按钮 - >开始大约10个不同的应用程序(模拟手机的正常使用),数字10可以在具有不同柱塞尺寸的不同手机上变化 - >打开足够的其他应用程序后,我的手机将耗尽ram内存,以便android杀死一些应用程序,最终将杀死我的应用程序。

这对我们的应用程序来说并不好,因为它可以跟踪某个位置的时间,并且需要相当准确地完成此操作

-------

无论如何,事先感谢您的帮助

2 个答案:

答案 0 :(得分:0)

你不应该试着这样做。这违反了Android的原则。相反,您应该使用服务来跟踪GPS位置。

答案 1 :(得分:0)

我遇到了同样的问题。

在android中,活动生命周期只能由系统改变,当活动不在顶部时,很容易被系统杀死,所以下次你进入你的应用程序时,它将从main上的onCreate函数开始。 java的。

如果你想让某些东西有背景,那么使用服务会更合适。