2011-12-30 118 views
1

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

接下来的一个教程,我设法让服务运行并每分钟打印一次,效果很好。问题是当我退出应用程序时(我的意思是在应用程序关闭之前点击“返回”按钮,或者甚至通过点击主键)服务似乎停止。

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

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

回答

1

退房本教程Running a Service in the Background.

这似乎正是你需要的。

你也将需要有一个broadcastreceiever这样,当设备重新启动您的服务将启动。(如果你想要这个)

退房答案在此线程。

Android app with Service only

+0

检查manifes,并确保它具有 “远程一部分的过程<服务 机器人:名字=” Tclass_name” android:process =“:remote”> 2011-12-30 15:25:40

+0

是的,我认为它实际上是工作。我认为如果Activity的onDestroy()方法被调用,我不能再打印到日志? – PaulG 2011-12-30 15:27:43

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) { 
     } } 

**