X秒后发送HTTP GET请求,服务被杀死

时间:2014-09-12 06:13:59

标签: android android-service android-networking

标题可能看似重复,但问题不是关于如何发出请求,我在使用服务指定间隔后从我的Android应用程序向Web服务器发送HTTP Get请求,问题是它在我执行后停止设备上的任何其他操作,如播放视频。该服务看起来像

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    final Context ctx=this;     
    Timer timer = new Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                   //perform GET here
            }, 0, 5000);    

    return Service.START_STICKY;    
}

任何想法为什么即使我返回Service.START_STICKY

也会遇到这样的行为

问候。

2 个答案:

答案 0 :(得分:1)

尝试在'前景'中运行您的服务。这样就不太可能被杀死。

退房:http://developer.android.com/guide/components/services.html#Foreground

答案 1 :(得分:1)

正如评论中所述,您可以采用 PendingIntents BroadcastReceiver 的方法,您可以在指定的时间保留待处理的意图并注册接收方,并且在接收时您可以执行操作,无论是启动服务还是点击werbservice。


请完成http://code.tutsplus.com/tutorials/android-fundamentals-scheduling-recurring-tasks--mobile-5788http://www.sitepoint.com/scheduling-background-tasks-android/以便更好地理解