Android服务不会在后台运行

时间:2011-12-30 14:41:55

标签: android service background-process

我昨天尝试过第一次创建Android服务。我们基本上需要一种每30分钟检查一次服务器状态的机制。我已经看过4或5个教程,并附有很多好评,但我似乎无法让我的服务完全正常工作。

在一个教程之后,我设法让服务运行并每分钟打印到日志,这非常有用。问题是当我退出应用程序时(我的意思是按下BACK按钮直到应用程序关闭,或者甚至通过点击主页键)服务似乎停止。

如果我的代码不是那么乱,我会张贴一些。我基本上希望服务在用户首次启动应用程序时启动(或点击特定按钮,这并不重要),并且无论用户是否退出应用程序,都会持续运行,并执行服务器检查每半个小时,在某些情况下可能会播放声音(同样,应用程序是否在视觉上运行)。任何人都可以为我想要实现的目标提供任何伪代码吗?还有一些关于我应该实现的具体方法以及何时调用它们的更多细节?

非常感谢。如果可能的话,我想在长周末之前完成这项工作。

2 个答案:

答案 0 :(得分:1)

查看本教程Running a Service in the Background.

这似乎正是你所需要的。

此外,您需要有一个广播接收器,以便在设备重新启动时,您的服务将启动。(如果您需要)

在这个帖子上查看答案。

Android app with Service only

答案 1 :(得分:0)

**

 - package com.Touch; import android.app.Service; import
   android.content.Intent; import android.media.MediaPlayer; import
   android.os.IBinder; public class BackServices extends Service {
       @Override
       public IBinder onBind(Intent arg0) {
           return null;
       }
       @Override
       public void onCreate() {
       }
       @Override
       public void onDestroy() {
       }
       @Override
       public void onStart(Intent intent, int startid) {
       } }

**