2012-05-09 28 views
0

シンプル:新しいアクティビティを開始したくない理由を知る方法を教えてください。

Uri uri=Uri.parse("geo:"+_lat+","+_lon); 
startActivity(new Intent(Intent.ACTION_VIEW, uri)); 

startActivity()は(私がなぜ知っている)私のアプリがクラッシュします。だから、私はこのアクティビティがなぜ始まってほしくないのか、そして、たぶん、トーストを介していくつかの情報をshowToast(msg)で表示したくないという情報を得たいと思います。

PS:私は初心者です。 :)

+3

logcatを見て、トレースを投稿できますか? – Ika

+1

@Krylovech:ここにあなたのlogcatを投稿する..... – MAC

+0

@DamienDubそう、トーストでいくつかの情報を表示できますか? PS:Intent {act = android.intent.action.VIEW dat = geo :,}を処理するアクティビティが見つかりません –

答えて

2

クラッシュした場合は例外があります。あなたのstartActivity()コールをtrycatchで囲み、例外をキャッチします。例外はあなたに必要なすべての情報を提供します。キャッチブロックからtoastを表示することもできます。

+0

もう一つの問題:IOExceptionの到達不能キャッチブロック。この例外は、try文の本体からスローされることはありません。 startActivity()は何も投げることができないので、私はそれを理解しています。 –

+0

@Krylovech IOExceptionの代わりにExceptionを使用します。それはすべて – binW

+0

@Krylovechをキャッチし、それが助けられたら答えを受け入れることを忘れないでください。 – binW

0

startActivity()によってスローされたRuntimeExceptionをキャッチし、例外をToastに書き込むことができます。

このコードは役に立ちます。

try{ 
    //your code 
    Uri uri=Uri.parse("geo:"+_lat+","+_lon); 
    startActivity(new Intent(Intent.ACTION_VIEW, uri)); 
} catch (Exception e){ 
    Toast.makeText(context, e.getmessage(), duration).show(); 
} 
関連する問題