Android服务意外死亡

时间:2010-11-10 19:17:21

标签: android service

我有一个Android服务,负责在某些时间点发送通知。我为此使用了android.OS.CountdownTimer。活动创建并启动服务。如果手机已锁定,则会显示1分钟内的通知。永远不会显示更晚的通知。当活动处于暂停状态时,该服务将从活动中解除绑定。

只要手机未锁定,即使活动已停止并从服务中解除绑定,也会生成通知。

在我看来,该服务已停止/被杀死。当我使应用程序可调试并在目标上调试它时,它也可以正常工作,当活动停止并且服务未绑定时。

该应用程序是为v1.5开发的,在Galaxy S上以2.2运行。

服务开始如下所示

serviceIntent = new Intent().setAction("com.mytest.MyService");
startService(serviceIntent);
bindService(new Intent(context, 
         MyService.class), mConnection, 0 /*Context.BIND_AUTO_CREATE*/);

1 个答案:

答案 0 :(得分:1)

  

我有一个Android服务,负责在某些时间点发送通知。我为此使用了android.OS.CountdownTimer。

请不要这样做。请使用AlarmManagerIntentService,这样您就无法始终运行服务。用户将使用任务杀手或“设置”应用中的“管理服务”屏幕终止您的服务。 Android将停止您的服务。使用符合用户和平台愿望的架构(AlarmManager / IntentService)可以获得更好的服务。