我有一個開始,並在應用程序的主屏幕STOP按鈕。有一些GUI和線程在我點擊START時被實例化。當我點擊停止時,我希望一切都停止,並且活動應該回到其原始狀態。對於像啓動時一樣的狀態(當我們點擊移動設備上的App圖標時)。 可以做到這一點嗎?我嘗試完成(),這殺了應用程序並退出。我不想退出主屏幕。相反,點擊「停止」後,我希望應用程序返回到原始狀態或出生狀態。謝謝。停止或刷新一個應用程序的活動
0
A
回答
1
你是如何運行的線程?他們是香草線程還是AsyncTask的子類?
如果這是一個AsyncTask
對象的實例,你可以使用cancel()
方法來取消它,然後你doInBackground()
方法裏面,你可以檢查isCancelled()
方法,看它是否確實已經取消,然後退出正常。
僞代碼如下:
private YourTask taskRef;
public void btnStartHandler() {
taskRef = new YourTask();
taskRef.execute();
}
public void btnStopHandler() {
taskRef.cancel();
}
,然後在您的AsyncTask:
public Void doInBackground(Void... arg0) {
// Background loop start
if (this.isCancelled()) {
return;
}
// Background loop continue...
}
如果你使用線程,你可以打斷他們,並捕獲異常並處理它。此外,您可以創建一個方法,您從onCreate()
調用initApp()
或初始化所有內容。您也可以使用STOP按鈕單擊處理程序中的initApp()
將值重置爲啓動默認值。
0
您可以finish()
重啓活動,然後調用startActivity(getIntent());
。這將有效地重新啓動您的活動並將其置於其默認狀態,無論它是如何啓動的。
這樣做,一定要取消所有線程或AsyncTasks作爲TJF建議之前(你可以和應該做的onDestroy
過載)。
有關重新啓動活動的詳細信息,以及有關利弊的討論,看到了這個問題:Reload activity in Android
相關問題
- 1. 刷新Android應用程序活動
- 2. 當試圖打開一個活動時,應用程序停止
- 3. 開始新的活動 - 應用程序停止工作
- 4. Android:當應用程序重新打開時停止活動?
- 5. 不幸的是,應用程序已停止(第一次活動)
- 6. 應用已停止開始新活動
- 7. 應用程序在打開第二個活動後停止
- 8. 停止互聯網活動當應用程序終止
- 9. 刷新一個活動
- 10. Android:刷新一個活動
- 11. 停止自動刷新
- 12. 當我啓動從列表活動的活動應用程序停止
- 13. ADT說unforunately應用程序已經用於啓動一個新的活動click事件後停止
- 14. Android的 - 啓動另一個應用程序的最新活動
- 15. 活動之間的Android應用程序交換停止
- 16. 停止Android應用程序的所有活動和片段
- 17. 當重新啓動一個應用程序時,停止另一個應用程序node.js
- 18. 當應用程序在活動之間切換時,「應用程序已停止」
- 19. 如何停止服務/線程當應用程序退出或從一個不同的活動
- 20. 刷新活動從android應用程序的listadapter onclicklistener
- 21. 停止的應用程序啓動
- 22. Android,在活動暫停或停止時終止線程?
- 23. Windows Stand Alone應用程序在移入後臺時停止自動刷新
- 24. 我可以開始一項活動作爲一個新的應用程序或外部我的應用程序?
- 25. 當通過活動返回時,應用程序停止
- 26. 添加setText到主要活動應用程序突然停止
- 27. 當活動開始時停止應用程序進入前臺
- 28. 加載時應用程序停止活動
- 29. 停止一個特定的Android活動
- 30. 不幸停止應用程序停止
這不是我一直在尋找,沒有這樣的initapp()兩種。 – 2010-08-12 20:29:48
如果您注意,我建議您_create_該方法,並從您的'onCreate()'調用它。更多關於你在做什麼的信息肯定會有助於獲得你正在尋找的答案。 – TJF 2010-08-12 20:31:31
+1爲了補償誰低估了這個內容豐富的答覆。 – hpique 2010-08-12 20:32:21