我創建了一個應用程序其音樂播放器只有一個簡單的佈局按鈕用於播放和停止。當我按播放按鈕音樂開始播放和播放按鈕更改爲停止按鈕..然後,當我按下後退按鈕應用程序進入背景,所以我必須去菜單,並從那裏啓動應用程序的問題是,如果我這樣做,android開始我的應用程序的新實例,並停止按鈕回到播放按鈕..我不想..我想要的是,Android恢復我的應用程序,並把它帶回到前臺,並保留狀態我所有的按鈕。從後臺恢復我的應用程序
0
A
回答
0
當用戶使用後退按鈕退出應用程序時,您的應用程序將停止並且不會保存狀態。您需要保存所需的任何狀態,以便像Activity.onStop這樣的生命週期方法之一恢復應用程序。對活動生命週期here有很好的描述。
還有一個部分叫做Saving Persistent State,它講述了更多關於使用Shared Preferences的內容。
[編輯]
我在這裏做你的代碼可能是什麼樣子的一些假設,但我希望你至少可以適應這些想法與你有什麼工作。在活動中添加幾件事情可能會有所斬獲。
當你的應用程序被關閉你會希望能夠保存相關設置:
@Override
public void onSaveInstanceState(Bundle icicle) {
super.onSaveInstanceState(icicle);
icicle.putString("path", mMediaPath);
icicle.putInt("time", mMediaPlayer.getCurrentPosition());
icicle.putBoolean("isPlaying", mMediaPlayer.isPlaying());
}
你要建立一個方法,從這些設置初始化你的媒體播放器。事情是這樣的:
private void initialize(String path, int time, boolean isPlaying) {
mMediaPlayer.setDataSource(path);
mMediaPlayer.seekTo(time);
if (isPlaying) mMediaPlayer.start();
findViewById(R.id.my_play_button).setBackgroundResource(isPlaying? R.drawable.pause_button: R.drawable.play_button);
}
然後,您可以打電話,當你的活動被重建:
@Override
public void onRestoreInstanceState(Bundle icicle) {
super.onRestoreInstanceState(icicle);
String path = icicle.getString("path", DEFAULT_TRACK);
int time = icicle.getInt("time", 0);
boolean isPlaying = icicle.getBoolean("isPlaying", false);
this.initialize(path, time, isPlaying);
}
+0
我真的不明白它...你能給我一個示例代碼,我可以按照即時通訊真正的初學者在Android編程 – HeartlessArchangel 2012-01-19 08:24:51
相關問題
- 1. 反應原生:在Android上從後臺恢復應用程序
- 2. 從後臺恢復應用程序重新啓動整個APP?
- 3. Cordova(PhoneGap)InAppBrowser在應用程序從後臺恢復時崩潰
- 4. 應用程序從後臺恢復時執行什麼方法
- 5. 當從後臺恢復時重新啓動應用程序
- 6. 當從後臺恢復應用程序時,RestKit崩潰
- 7. 恢復通話後在後臺運行的應用程序ios
- 8. 恢復下載後查殺或放置後臺應用程序
- 9. Android - 當我的應用完成後恢復後臺應用
- 10. 從後臺恢復後訪問核心數據NSManagedObject崩潰應用程序
- 11. 恢復我的應用程序項目
- 12. 去背景後恢復應用程序
- 13. 致電後恢復應用程序
- 14. NullPointerException在恢復應用程序後
- 15. 應用程序殺死Android後恢復
- 16. 從後臺恢復一個死的應用程序使其行爲異常
- 17. Android應用程序在長時間從後臺恢復時崩潰
- 18. 當應用程序從後臺恢復時核心數據實體消失
- 19. 活動指示器動畫在應用程序從後臺恢復時結束
- 20. 花時間從後臺恢復應用程序,顯示啓動畫面
- 21. 從通知恢復Android應用程序
- 22. 從碼頭恢復應用程序
- 23. 從後臺調用我的應用程序後調用方法
- 24. 應用程序恢復
- 25. Android:恢復應用程序
- 26. 從後臺恢復應用程序時如何返回到應用程序登錄屏幕?
- 27. 在我的Android應用程序中從MySQL恢復數據
- 28. 是否可以從我的iPhone恢復iOS應用程序?
- 29. 我的應用程序在後臺
- 30. NSURLConnection開始後,應用程序會轉到後臺,應用程序恢復時它會繼續嗎?
我已經添加了一些基本的代碼示例。很難準確猜測你的音樂播放器的設置,但這可能是一個好的開始。 – dokkaebi 2012-01-22 06:32:26