2014-05-15 73 views
1

目前的情況表示這樣的:的Windows Phone 8 - 應用事件遇難/退出(關閉後臺音頻代理)

  1. 用戶打開我的應用程序
  2. 背景音頻代理開始播放
  3. 用戶可以追溯到開始屏幕
  4. 音頻不斷從背景音頻代理播放
  5. 用戶從「任務欄」(右上角的關閉按鈕)中刪除應用程序
  6. 後臺音頻代理繼續播放。

我需要實現以下幾點:

  • 關閉,當用戶關閉應用程序(我知道我可以使用close方法上backgroundaudioplayer但我需要調用這個當背景音頻劑應用程序被殺死/退出)。

問題:

  • 是否有任何情況下,除了:Application_Deactivated/Application_Closing當用戶真正退出/殺死的應用程序?
  • 如果沒有像上面提到的那樣的事件 - 我可以通過Application_Deactivated/Application_Closing告訴用戶何時真正退出/殺死應用程序?

謝謝

回答

1

沒有辦法當一個應用程序得到了由任務切換或關閉系統檢測。通常,應用會一直保持墓碑狀態,直到它們被重新激活或被殺死。您必須在Application_ClosingApplication_Deactivated事件中執行所有清理工作。

這有一個簡單的原因:當應用程序位於後臺時,它被凍結並且無法執行代碼。無論何時用戶或系統殺死它(例如獲取更多內存),應用程序及其所有數據都會完全從內存中消失。沒有通知你的應用程序,也沒有機會獲得性能(這會產生反作用)。

因此,當用戶點擊開始按鈕或其他應用程序時,您只需使用Application_Deactivated事件,或者在用戶通過後退按鈕關閉應用程序時使用Application_Closing事件。

如果您需要有關Windows Phone 8 Application lifecycle的其他信息,請閱讀此處。

除此之外,用戶會希望在關閉應用程序後背景音頻仍在運行。例如,播客應關閉Podcast應用程序時也應該播放。你在說什麼音頻?也許我們可以找到一個聰明的解決方案...

0

您可以作出反應的唯一事件是關閉和禁用。 因此,您只能在「Application_Closing」事件中調用BackgroundAudioPlayer.Instance.Close()。

相關問題