我正在創建一個音樂播放器應用程序。手柄通知隱藏,當應用程序崩潰/死亡
當音樂播放時,我正在顯示當前歌曲的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