반응형
안드로이드 No Activity found to handle Intent 예외처리
android No Activity found to handle Intent exception
안드로이드에서 intent는 상당히 중요하며, 파면 팔 수록 어렵고, 더 나아가 나중에는 스택관리 까지 해줘야한다.
일단 떠나서 intent로 편리하게 웹을 호출하거나, 문자를 보내거나, 통화, 메일쓰기등을 할 수 있다. 암묵적 뭐시기 랬는데 까먹음..
아무튼 이 기능을 유용하게 사용하다가 아주 가끔 크레쉬가 터지곤 하는데, 좀 어이가 없지만 아마 내가 아는 걸로 아래 사항이 아닐까 싶다
String url ="https://goodgoodminki.tistory.com";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
위 코드는 인텐트로 내 티스토리 블로그로 들어오는 아주 간단한 코드이다. Intent.ACTION_VIEW를 통해 따로 해줄 것이 없다.
그런데 크레쉬가 터지는 위치는 아마 startActivity부분일텐데, 열심히 구글링을 해보면 나오겠지만, try~catch가 답일 듯 싶다.
try {
String url ="https://goodgoodminki.tistory.com";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
} catch(Exception e) {
// 예외처리
}
이유는 url을 호출할 경우 기기에 브라우저가 설치가 안되어서 나오는 것이다.
테블릿의 경우 문자나, 통화기능이 없는 경우가 있어 당연히 문자나, 통화 intent에서 크레쉬가 터져버린다.
이메일도 위와 마찬가지이다.
ps
1. 대부분 해외폰이나 테블릿에서 발생
반응형
'[# 2]…My DevelopStory' 카테고리의 다른 글
안드로이드 코틀린 숏컷 구현하기 ~ Android Kotlin Shortcut (3) | 2020.10.03 |
---|---|
안드로이드 코틀린 그리드뷰 사용하기 ~ Android Kotlin GridView (1) | 2020.10.02 |
안드로이드 네트워크 연결 체크 ~ Android Network Check (1) | 2020.09.22 |
안드로이드 글라이드(Glide) IllegalArgumentException ~ You cannot start a load for a destroyed activity (0) | 2020.09.22 |
안드로이드 NFC 권한 설정 유의 사항 ~ required = "false" (0) | 2020.07.18 |