我有一个startForeground(requestCode, notification);
服务,并将其设置为setOngoing(true)
,以便用户无法删除通知。该通知可以保留多长时间?它会永远保持生命(直到用户重新启动电话)吗?
我已经注意到,如果我启动该服务并将电话闲置几个小时,则该通知仍然存在,但对按钮单击服务方法无响应。是因为我没有部分唤醒锁?
此通知用于控制Android设置(例如亮度设置),这就是为什么我需要始终运行通知的原因。
最好在setOngoing(true)中使用普通通知,然后启动一个服务,该服务将为每个单击的按钮调用一个方法?
最佳答案
通知将在重启手机之前保存,我从自己的经验中学到了:)。
一段时间后,系统将终止您的服务以获得更多内存,这就是为什么通知无响应的原因。
如果要使服务始终运行,最好从onStartCommand()返回START_STICKY。杀死后它将自动重新启动。
我不知道使用普通通知会更好,请先尝试START_STICKY。