【发布时间】:2014-07-03 15:11:06
【问题描述】:
我正在创建一个音乐播放器应用程序。
当音乐播放时,我会显示当前歌曲的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");
}
这是处理好方法吗?
还有,这只是一种场景,想不到应用+服务怎么会被突然杀掉,怎么处理?
谢谢
【问题讨论】:
标签: android android-service android-notifications