2012-03-19 8 views
0

ボタンをクリックしたときに2つの異なるインテントをハンドリングするために、ある種のメソッドを使用する必要があります。最初はアプリをクラッシュさせずに時々始めることができます。私は別の意図を開始する必要があるため、通常はアプリがクラッシュしていました。クラッシュした場合、別のインテントを開始しようとすると、インテントが始まります。

私は新しい活動を開始できず、2つのインテントを開始することができない場合、別のインテントを起動する何らかのソート方法が必要ですか?

リンクや参照の代わりに、何らかの種類の式を本当に感謝します。

+0

いつクラッシュするのですか? (そしてなぜ、なぜ?)それは始まりにあるのですか? – njzk2

+0

あなたは単にtry ... catchを探していませんか? – Archer

+1

「アクティビティ」を開始しようとしていて、失敗してクラッシュした場合は、何か間違っています。最初の「アクティビティ」の開始に失敗する原因 - これ以上説明できません。それはおそらく、単に事前テストまたは代わりによく構造化された例外処理を必要とするようです。 – Squonk

答えて

6

あなたはtry catchブロックを探しています。

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

ありがとう!私の問題を解決しました。 – Magakahn

0

あなたのコードで試してください。最初のものが失敗した場合、別のインテントを起動することができます。

アプリケーションがクラッシュしている場合は、これを整理する必要があります。アプリケーションプロセスがOSによって強制終了されたため、アプリケーションがクラッシュした場合に別のインテントを開始することはできません。アクティビティーを起動できるかどうかを検出する必要があります。そうでなければ別のアクティビティーを起動する必要があります。

+0

例を作ることができますか何らかの種類の式を作ることができますか? (私はあなたがアクティビティを起動できるかどうかを検出しようとします、そうでなければ別のものを起動してください) – Magakahn

+0

あなたのアプリがクラッシュする理由の例を私たちに提供すれば、クラッシュは悪いUXです。一部のデバイスでしか使用できない機能をキャッチすることは正しいパターンです。これをキャッチしたときに別のアクションを実行すると、やっていることになります。 – Mimminito

0

クラッシュを修正し、クラッシュの原因となったものに基づいていくつかのスイッチングロジックを実装します。

関連する問題