【发布时间】:2019-11-27 15:11:53
【问题描述】:
我正在使用一项显示持续通知的服务。当应用程序正常关闭时,通知消失。但是,如果用户从最近的列表中删除它,应用程序将关闭并停止服务。但是,通知仍然出现。这不是一个好的用户体验。
注意:我尝试使用 onTaskRemoved() 但它根本没有被调用。
当应用从最近列表中删除时如何删除通知。
更新: 我注意到当应用程序从最近删除或从其他应用程序中删除时,会调用以下 3 行。
11-27 11:44:05.097 3916-4157/? D/StatusBar: onNotificationRemoved: Key:
0|com.example.player|888|null|10525
11-27 11:44:05.107 3916-3916/? D/PhoneStatusBar: removeNotification key=android.os.Binder@2e604ccc keyCode=778063052 old=StatusBarNotification(pkg=com.example.player user=UserHandle{0} id=888 tag=null score=0 key=0|com.example.player|888|null|10525: Notification(pri=0 contentView=com.example.player/0x109008a vibrate=null sound=null defaults=0x0 flags=0x2 color=0xff40444a category=service actions=3 vis=PUBLIC))
11-27 11:44:05.137 4759-4759/? I/Launcher.ApplicationsMessage: update com.example.player/ to null
但是,在我的应用程序中,这 3 行在应用程序终止时调用,而不是从最近删除中删除。我想这可能是个问题(我遗漏了一些东西)。
【问题讨论】:
-
清除
onDestroy()中出现在最近列表中的任何Activity的通知。持续的通知通常意味着服务,但不一定会在Activity被关闭时结束。 -
onDestroy() 从最近列表中删除时不会调用。
标签: android service notifications android-mediaplayer android-notifications