2014-06-10 60 views
0

其實這個場景比描述它的標題要複雜一點。如何在活動停止時關閉活動?

的情況如下:

  • 活動A開始活動B.

  • 活動A,當我開始活動B,因爲我 需要用戶能夠瀏覽禁止銷燬回到A.

  • 當用戶按HOME按鈕時,用戶打開最近的應用程序 窗口並從我的應用程序切換到另一個應用程序。在此階段,A 和B都已停止。

  • 當用戶用戶打開最近訪問的應用窗口,切換回 其他應用到我的應用程序:活動B將重新啓動(活動A沒有 尚未重新啓動)

  • 現在在活動B有一個按鈕來關閉整個應用程序,關閉 B和A,和它不使用這種方法關閉兩個活動: https://stackoverflow.com/a/11509279/1815311

  • 的問題是,當活動B試圖關閉B和A,IN THE描述的情景,AC TIVITY A SOMETIMES IS NULL!

我該如何應對這種情況?

+2

方法/ 11509279/1815311非常非常糟糕,並導致活動泄漏和「空指針異常」。 Android不以這種方式工作。我強烈建議重新考慮您的應用導航。這是一個好的開始 - http://developer.android.com/training/design-navigation/index.html –

+1

您是否考慮過使用_startActivityForResult_來啓動Activity B.並將這樣的代碼返回到Activity A,它知道調用_finish ()_本身? – harism

回答

-1

1解決方案是 - 在完成活動B之前,使用sharedpreferences存儲一個值爲1的變量,完成活動B但不是A.系統將恢復活動A.在活動A中覆蓋onResume()函數並從共享中獲取變量喜好,如果規定1,則存儲0那裏,並完成()A.活動

2溶液是壓倒onresultactivity - 在這裏看到http://stackoverflow.com/a提到

How to kill an application with all its activities?

+0

@RoonnWilder謝謝Ronn !!!! –