在我的應用程序中,如果用戶旋轉屏幕(銷燬活動),我想要播放媒體文件並繼續播放,但如果用戶移動到其他活動或其他活動出現,我希望它停止播放這一個,他們按下後退按鈕,不管。如何知道Froyo中配置更改發生的時間?
我相信在Honeycomb中有一個這樣的API,但我需要一些能在Android 2.2中工作的東西。
我寧願不使用onConfigurationChanged來自己處理所有配置更改 - 這聽起來像很多工作和潛在的錯誤 - 而onRetainNonConfigurationInstance()的問題在於,它只有在onStop觸發後纔會運行 - 但如果合適,onPause將是暫停介質的合理位置。
在onPause中,有沒有一種方法可以判斷活動是否因配置更改而暫停而不是其他原因?
一個有趣的想法,朱利安,謝謝你的詳細例子。一旦我將android:configChanges =「orientation」添加到清單中的相關Activity中,它就會生效,但不會如我所料。 onConfigurationChanged是否會觸發...但onPause/onStop/onDestroy永遠不會被調用。因此,這是解決「旋轉屏幕破壞活動」問題的一種方法,但不是以Google推薦的方式。雖然謝謝! –
查看更新的答案。不涉及對manifest和onDestroy()仍然調用的更改。 –
新的答案似乎工作! OnRetainNonConfigurationInstance會在onStop之後和onDestroy之前觸發,並且使用此代碼可以準確判斷onDestroy是否正在關閉配置更改。謝謝! –