从Android API 26开始,Android系统要求"performs some operation that is noticeable to the user"自己注册为前台服务的服务。并且“前台服务必须显示通知”。
我有一个播放音频文件的服务。暂停播放后,用户应该可以将通知滑动(与Google Play音乐应用一样)。但是,如果我致电stopForeground()
,则我的服务会在几分钟之内被系统杀死。
暂停播放时,如何允许清除通知?
答案 0 :(得分:2)
但是,如果我调用stopForeground(),那么我的服务将在几分钟之内被系统杀死
在Android 8.0+上,一分钟后它将停止。
暂停播放时,如何允许清除通知?
第0步:将您真正需要的任何数据(例如,跟踪和播放位置)保存到磁盘
第1步:致电stopForeground()
步骤2:发出一个新的通知,其中未设置“正在进行”标志(即setOngoing(false)
,这是默认设置),以反映您的暂停状态
第3步:理想情况下,请致电stopSelf()
,以使服务耗尽内存,并将您的流程重要性降低到正常水平,而不是等待Android停止服务的时间