2012-07-21 144 views
0

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

谢谢。

回答

0

您有兴趣使您的服务STICKY。

当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; 
    } 
... 
} 
0

我有同样的要求工作,这里是解决我使用,

类:AlarmManager & TimerTask

逻辑,

  1. 创建一个TimerTask类定期在服务器上上传您的GPS坐标。
  2. 创建一个AlarmManager类,在特定的时间间隔(在我的情况下为30分钟)停止并启动GPS和TimerTask。

这个作品很有魅力。