在Android中检测“计划重启崩溃服务”

时间:2011-11-17 13:20:39

标签: android service

有没有办法检测我的Android服务因崩溃而重启的时间? 重启后服务本身可以知道吗?或者客户端应用程序可以获取此信息吗?

我尝试在服务中使用START_FLAG_REDELIVERY标志,但我不确定它是如何工作的。

2 个答案:

答案 0 :(得分:3)

来自onStartCommand(Intent intent, int flags, int startId) documentation:

  

参数

     

intent - 提供给startService(Intent)的Intent,如   给出。 如果服务在其之后重新启动,则此值可能为null   过程已经消失,它之前已经返回了除了之外的任何内容   START_STICKY_COMPATIBILITY。

因此,如果您重新启动服务,无论出于何种原因(并且它已经开始粘滞),它将使用空目标重新启动。

答案 1 :(得分:0)

检测服务何时重启?这可以通过手动或以编程方式解析logcat来完成。根据导致“崩溃”的原因,可能还有其他方式......

服务重启后能否知道自己?是的,通过onCreate函数中收到的重新传递的意图。