2012-03-19 80 views
0

我正在開發一個應用程序,我需要使用某種方法來處理一個按鈕點擊兩個不同的意圖。第一個有時只能在不崩潰應用程序的情況下啓動。因此,我需要開始另一個意圖的應用程序通常會崩潰。嘗試開始意圖,如果崩潰,開始另一個意圖

更好的解釋是否需要某種方法啓動另一個意圖,如果意圖不能開始一個新的活動,然後開始2意圖。

我真的很欣賞某種公式,而不是鏈接或引用。

+0

什麼時候它崩潰? (爲什麼呢?)它是在startIntent中嗎? – njzk2 2012-03-19 17:29:48

+0

你不只是在尋找嘗試...趕上? – Archer 2012-03-19 17:31:09

+1

如果你試圖啓動一個Activity,並且它失敗並崩潰,那麼你做錯了什麼。什麼會導致第一個「活動」無法啓動 - 進一步解釋。在我看來,你可能只需要一些預測試或者結構良好的異常處理。 – Squonk 2012-03-19 17:32:42

回答

6

您正在尋找try catch塊。

try 
{ 
    startActivity(intent); 
} 
catch(Exception e) 
{ 
    startActivity(another_intent); 
} 
+0

非常感謝!解決了我的問題。 – Magakahn 2012-03-19 17:44:10

0

嘗試/抓住你的代碼。如果第一個失敗,您可以啓動另一個意向。

如果您的應用程序崩潰,您應該對此進行排序。如果應用程序崩潰,您將無法啓動另一個意圖,因爲應用程序進程已被操作系統殺死。您需要檢測是否可以啓動該活動,否則啓動另一個活動。

+0

你能舉一個例子或某種形式的公式嗎? (我嘗試檢測您是否可以啓動該活動,否則啓動另一個活動。) – Magakahn 2012-03-19 17:36:45

+0

如果您爲我們提供了一個應用程序崩潰原因的示例,那將更容易。崩潰是一種糟糕的用戶體驗,只捕獲一些僅在某些設備上可用的功能纔是正確的模式,而在發現這種情況時執行另一項操作就是您應該做的。 – Mimminito 2012-03-19 17:37:56

0

修復崩潰,然後根據過去導致崩潰的情況實現一些切換邏輯。