如果我的第一個activity
已關閉,您能告訴我如何運行我的第二個activity
嗎?可能需要一段時間才能打開第二個活動。是否應該使用Service
?請給出例如,非常感謝。第一次關閉時運行第二個活動
回答
答案將取決於您希望開始下一個活動的條件。以下僅是一個示例,無論在onDestroy中做了什麼,都可以在其他任何地方複製以開始下一個活動。
重寫第一個活動的onDestroy方法,然後觸發一個意圖來啓動第二個活動。 在您的第一項活動,
public class A extends Activity{
.
.
.
@Override
public void onDestroy(){
Intent in = new Intent(this, SecondActivity.class);
startActivity(in);
.
.
.
}
}
確保兩個活動都在AndroidManifest.xml文件檔案化
編輯:要開始一段時間後,你可以使用這樣的處理程序。 (注:這個人是不是測試,我希望它能正常工作)
public void onDestroy(){
new Handler.postDelayed(new Runnable(){
public void run() {
Intent in = new Intent(this, SecondActivity.class);
startActivity(in);
}
}, 7000);
}
7000在這裏是後要開始下一個活動的毫秒。即下一個活動將在7s後開始。
一切順利:)
謝謝您的回答!但我忘了提到一件事:第一次關閉後,第二次活動可以打開一段時間。 – Konar
檢查編輯@Konar –
如果我的第一個活動是封閉
對我來說,這聽起來像你的意思是「封閉作爲用戶操作的結果」。從onDestroy()
開始新的Activity
是不好主意,因爲如果需要的話系統可能會破壞你的Activity
。如果設備旋轉,它也可能被破壞。更好的方法是壓倒一切的返回按鈕:
@Override
public void onBackPressed() {
//delay 2nd Activity launch
super.onBackPressed();
}
如果您嘗試從您的第一項活動中的延遲推出第二個活動,你就有可能它不開放所有,如果應用程序從內存中清除。您最好的選擇是使用AlarmManager
安排在一段時間後開啓新的活動。這將工作放在Android OS上,而不是放在您的應用中。
This post包含一些如何處理這個問題的代碼示例。
- 1. 如何在第一次運行後跳過第二個活動?
- 2. 第一次運行後強行關閉
- 3. 第一次和第二次自動運行計時器
- 4. 第二次活動在第一次活動後致電
- 5. 第二秒後關閉活動
- 6. 第一個動畫結束時運行第二個jQuery動畫
- 7. 當我返回第一個活動時,第二個活動的onCreate()函數不會在第二次調用
- 8. 隊第一個活動後關閉
- 9. 找不到* apk,第一次運行,但在第二次運行
- 10. RxSwift代碼第一次運行,第二次運行
- 11. 從第二個活動返回到第一個時,App force關閉,第一個活動不再工作,必須再次重新啓動
- 12. 再次恢復第一個活動,而不是去第二個活動
- 13. 第二模態關閉時的第一模態滾動隱藏
- 14. Shell腳本在第二次運行時使用第一次運行的參數
- 15. 關閉第三方活動
- 16. 如何在第二次選擇第一個文本字段時關閉鍵盤?
- 17. 如何從第二個活動返回到第一個活動?
- 18. 從第一個活動傳遞給第二個活動
- 19. 無法從第二個活動切換到第一個活動
- 20. 完成第一個活動後開始第二個活動
- 21. 在第二次活動中旋轉後無法恢復第一次活動
- 22. 當第二活動開始時第一活動不會停止
- 23. 第二次啓動時停止第一個div的動畫
- 24. 在自動關閉第一個表單的同時打開第二個表單
- 25. 關閉在第一次
- 26. POST函數運行兩次,第一次API調用失敗,第二次運行。
- 27. 第二次運行時只使用VPATH?
- 28. 第二次運行時發生錯誤
- 29. 第二次運行tensorflow時出錯
- 30. 沒有運行第一個活動
在什麼情況下你想運行第二個活動? – Knossos
我希望第一次活動關閉一段時間,然後第二次活動可以打開 – Konar