2012-05-09 3 views
0

간단한은 :새로운 활동을 시작하고 싶지 않은 이유에 대한 정보를 얻는 방법?

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

startActivity() 내 응용 프로그램 (나는 이유를 알고) 충돌합니다. 그래서,이 활동이 왜 시작하고 싶지 않고 (어쩌면) showToast(msg)을 통해 토스트를 통해 정보를 보여주고 싶지 않은지에 대한 정보를 얻고 싶습니다.

추신 : 나는 초보자입니다. :)

+3

logcat을 살펴보고 추적을 게시 할 수 있습니까? – Ika

+1

@Krylovech : 여기에 logcat 게시 ..... – MAC

+0

@DamienDub 그래서 토스트를 통해 정보를 보여줄 수 있습니까? 추신 : 인 텐트 처리 액티비티가 없습니다. {act = android.intent.action.VIEW dat = geo :,} –

답변

2

충돌하는 경우 예외가 있습니다. trycatch으로 startActivity() 전화를 걸고 예외를 잡으십시오. 예외는 필요한 모든 정보를 제공합니다. catch 블록에서 toast을 표시 할 수도 있습니다.

+0

또 다른 문제 : IOException에 대한 도달 할 수없는 catch 블록. 이 예외는 try 문 본문에서 절대로 throw되지 않습니다. 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(); 
} 
관련 문제