안녕하세요.
현재 카카오네비 설치 유무를 판단 후 네비 앱 실행 시, 아래와같은 crash가 발생하였습니다.
모든 상황에서 발생하는 에러는 아니고, 간헐적으로 발생하여 Crashlytics에 보고되어 왔습니다.
Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=kakaonavi-sdk://navigate?param={“destination”:{“name”:“목적지이름”,“x”:“127.01234567890001”,“y”:“37.01234567890001”},“option”:{“coord_type”:“wgs84”}}&apiver=1.0&appkey ~
참고로 위 로직을 수행하기 위해 startActivity() 호출시, Activity가 아닌, Fragment의 Context로부터 startActivity()를 호출하고 있습니다.
혹시 위 사항이 문제되는 것인지, 위 문제와 관련하여 아시는분은 댓글 부탁 드리겠습니다.
감사합니다.
안녕하세요.
액티비티 호출하고 있는 코드를 확인할 수 있을까요?
if (NaviClient.instance.isKakaoNaviInstalled(context)) {
val location =
Location(목적지명: String, 경도: String, 위도: String)
val option = NaviOption(CoordType.WGS84)
val intent: Intent = NaviClient.instance.navigateIntent(location, option)
context.startActivity(intent)
}
위와같이 호출하고 있습니다~! 마지막줄 'context.startActivity’의 'context’는 위에서 말씀드린것과 살짝 다르게,
Fragment가 Activity에 붙을 때, 해당 Activity의 context를 인자로 받아 처리하고 있습니다!
안녕하세요.
Fragment의 startActivity 메소드를 사용하지 않는 이유가 어떻게 되실까요?
startActivity 를 바로 사용하시멸 될것 같습니다.
Fragment는 간헐적으로 FragmentManager의해 메모리상에서 삭제되고, 재생성 될 수 있다 들었습니다…! 그래서, 해당 Fragment가 Activity에 붙을 당시, 해당 Activity의 객체를 가지고와 startAactivity를 호출하고 있었는데요, 혹시 Fragment의 startActivity로 실행한 것과, FragmentActivity의 startActivity로 실행한 것의 차이가 있는것인가요…?
FragmentActivity 사용하시는군요. Crashlytics 내용을 자세히 알수 있을까요?