我正在创建一个音乐播放器应用程序。手柄通知隐藏,当应用程序崩溃/死亡
当音乐播放时,我正在显示当前歌曲的notification
(类似于默认的Android音乐播放器应用程序)。
我在Service
中运行音乐并仅处理该服务中的通知显示/隐藏。
当应用程序突然崩溃/崩溃时,音乐服务停止&音乐在后台也是如此(我猜这是一种正确的行为)。
但即使在崩溃后,通知仍然存在。
我该如何处理这个问题?
一种情况处理:
音乐服务正在运行并显示通知。
用户点击recent apps
并杀死我的应用程序,因此服务停止,但通知仍然可见。
我如何处理它:
据预计,如果正在播放音乐和用户完成MainActivity
,那么音乐应该保持在后台播放。
所以,如果backpressed == true
,然后在onDestroy()
,不取消的通知。 (由用户完成活动)
否则,如果backpressed == false
,则在onDestroy()
中,通知。 (活动突然死亡)
@Override
public void onBackPressed() {
super.onBackPressed();
mBackPressed = true;
}
@Override
protected void onDestroy() {
if (!mBackPressed) {
mMusicService.hideStatusBarNotification();
}
super.onDestroy();
Log.e(TAG, "onDestroy() called - Activity");
}
这是否是一种很好的方法。
此外,这只是一个场景,我不能想到如何应用程序+服务可以突然死亡,&如何处理它?
谢谢
相关:http://stackoverflow.com/questions/12997800/cancel-notification-on-remove-application-from-multitask-panel – ben75