我有一个startForeground(requestCode, notification);服务,并将其设置为setOngoing(true),以便用户无法删除通知。该通知可以保留多长时间?它会永远保持生命(直到用户重新启动电话)吗?

我已经注意到,如果我启动该服务并将电话闲置几个小时,则该通知仍然存在,但对按钮单击服务方法无响应。是因为我没有部分唤醒锁?

此通知用于控制Android设置(例如亮度设置),这就是为什么我需要始终运行通知的原因。

最好在setOngoing(true)中使用普通通知,然后启动一个服务,该服务将为每个单击的按钮调用一个方法?

最佳答案

通知将在重启手机之前保存,我从自己的经验中学到了:)。

一段时间后,系统将终止您的服务以获得更多内存,这就是为什么通知无响应的原因。

如果要使服务始终运行,最好从onStartCommand()返回START_STICKY。杀死后它将自动重新启动。

我不知道使用普通通知会更好,请先尝试START_STICKY。

10-07 19:31
查看更多