Android服务在保持应用程序运行一段时间后停止

时间:2012-07-21 09:54:23

标签: android android-service

我正在创建一个必须连续运行的应用程序,直到用户单击停止按钮。该服务的作用是通过使用GPS获取当前的纬度和经度并上传到服务器。但是当我让应用程序长时间运行时,服务会停止上传数据。任何人都可以告诉我如何保持服务持续运行,直到用户按下停止按钮?请给我一个解决这个问题的方法。

感谢。

2 个答案:

答案 0 :(得分:0)

您有兴趣使您的服务保持干净。

当Android内存不足时,它会停止您的服务,以便它可以继续工作。如果您将粘性标记设置为您的服务,则只要有足够的资源可用,就会重新创建该服务。

你这样做的服务很粘:

public class YourService extends Service {

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // We want this service to continue running until it is explicitly
        // stopped, so return sticky.
        return START_STICKY;
    }
...
}

答案 1 :(得分:0)

我一直在研究相同的要求,这是我正在使用的解决方案,

课程:AlarmManager& TimerTask

逻辑,

  1. 创建一个TimerTask类,定期在服务器上上传您的GPS Co-Ordinates。
  2. 创建一个AlarmManager类,在特定时间间隔内停止并启动GPS和TimerTask(在我的情况下为30分钟)。
  3. 这就像魅力一样。