我有一个在Service.START_REDELIVER_INTENT
中返回onStartCommand()
的服务。该服务调用startForeground(NOTIFICATION_ID, notification)
,然后执行一些长时间运行的处理。
如果服务在完成处理之前被Android系统停止,我希望再次使用相同的Intent
重新启动它,这就是为什么我要返回Service.START_REDELIVER_INTENT
。
处理完成后,我需要向用户显示新的通知,然后使用stopSelf(startId)
停止服务,以便以后不再使用相同的Intent
重新启动服务(因为完成处理)。
但是,似乎调用stopSelf(startId)
会删除该服务显示的所有通知。如何既保留通知又“消费” Intent
?