防止停止Android服务

时间:2013-04-27 19:47:48

标签: java android service android-activity

我有一个使用以下代码从Activity调用的服务:

startService(new Intent(AMC_Activity.this,CallService.class));

服务运行良好约20-30分钟,但在该服务停止运行后,我知道我可以使用'前台'服务,但通过使用它我应该显示通知,所以,还有其他方法防止服务停止运行?

2 个答案:

答案 0 :(得分:0)

我不确定,但我认为你是从UI线程开始服务的,之后你将你的应用程序背景放在一边,所以在某个时候你的活动实例迷失了,那时UI线程也被杀死了。

<强>解决方案

创建一个新线程并使用该线程而不是UI线程启动服务,因为服务正在线程正在调用它的线程上工作。

//This code will be in class body.
private Thread thread1 = new Thread(){
    public void run(){
        startService(new Intent(AMC_Activity.this,CallService.class));
    }
}

//Now this code will be call when you are going to start the service, i.e. Under onCreate()
thread1.start();

它可能对您有所帮助。

答案 1 :(得分:0)

如果您在设备上使用TaskManager应用程序,则应注意不要破坏您的应用和/或服务。