카카오내비 길안내 관련 UI 관련 질문

안녕하세요 카카오내비 관련되서 문의사항입니다.

initWithGuidance 메소드를 호출하여 길 안내를 시작하면 출발지, 도착지 등은 잘 설정이되며 "안내를 시작하겠습니다"와 같은 보이스는 출력되나 안내 UI화면(좌측 파란색 길 안내, 하단 남은시간/거리 등이 표시되는 상태바)이 제대로 표시되지 않으며 정확하게 안내가 되지 않는 현상이 발생하고 있습니다.

해당 이슈의 경우 어떤 부분을 살펴봐야 할지 궁금해서 질문드립니다.

스크린샷 2023-04-18 오후 5.33.09

안녕하세요. 카카오모빌리티 기술 제휴 담당자입니다.

해당 증상은 처음 주행 시작 시, GPS가 제대로 들어오지 않을 경우에 발생할 수 있습니다.
주로 실내에서 테스트 할 때 발생하며
단말기의 GPS가 꺼져있는 경우에도 발생할 수 있습니다

  1. 단말기의 설정을 'GPS 사용’으로 설정한 다음
  2. 해당 앱을 켜고,
  3. 실외에서 GPS가 정상적으로 수신이 되는지 확인 부탁드리며,

이후에도 동작이 되지 않으신다면 다시 한번 문의 부탁드립니다

감사합니다.

1개의 좋아요

안녕하세요!
@kakaonavi 먼저 답변해주셔서 감사합니다. 추가적인 문의가 있어 다시 댓글을 작성하게 되었습니다.

실제로 GPS가 잘 잡히지 않는 경우가 있어서, GPS 수신과 관련 되서는 충분한 답이 되었습니다.

다만, 같은 환경 속에서 전달받은 SDK 샘플 앱(KNSample) 앱과 만들고 있는 앱을 동시에 실행했을 경우
샘플 앱(KNSample)에서는 안내 UI가 정상적으로 작동하는 반면, 현재 만들고 있는 앱에서는 뜨지 않는 현상이 지속 발생하고 있습니다.

이러한 경우에는 어떠한 사항을 체크하는게 좋을까요?
항상 신경써주셔서 감사합니다.

안녕하세요. 카카오모빌리티 기술 제휴 담당자입니다.
아래 답변 확인 부탁드립니다.

샘플 앱을 실행하지 않고 제작하신 앱을 별도로 실행할 경우, 정상적으로 동작하는지 확인이 필요합니다.

앱에서 UI가 뜨지 않는 경우는 여러 가지 원인이 있습니다. 이러한 문제가 있는 경우, 해당 앱 빌드 시 발생하는 에러 로그(Logcat)에 나온 내용을 첨부해 주시면 확인이 더 수월할 것입니다.

또한, 제작하신 앱이 별도 실행할 경우에도 정상 동작하지 않는다면, 아래 사항에 대해서도 확인 부탁드립니다.

  • KakaoNaviSDK 인증이 정상적으로 되는지 확인 (Kakao Developers에 해당 앱의 추가 및 키 해시 등록 확인)
  • KNSDK Install 이후, initializeWithAppKey 호출 및 리턴값 확인

감사합니다.

1개의 좋아요

@kakaonavi 안녕하세요~ 항상 신경써주셔서 감사합니다.
개인적인 사정으로 댓글이 늦었습니다.

우선 말씀해주신 Kakao Developers 확인 및 initializeWithAppKey에서 에러가 발생하지 않는 것을 확인하였습니다.

로그캣의 경우 별도로 error로 뜨는 메세지가 존재하지 않아서 추출해볼만한 TAG 같은 것들이 있으면 알려주시면 감사하겠습니다.

추가적으로 지난번 첨부했던 화면 처럼 앱에서 UI가 정상 작동하지 않을 때 더블 탭을 하면 아래와 같은 error 메세지를 방출하며 크러쉬 됩니다. 아래는 LogCat 입니다. 스크롤 해주시면 됩니다!

2023-04-27 11:21:32.886 14206-14206 InputEventReceiver      com.패키지.이름                  E  Exception dispatching input event.
2023-04-27 11:21:32.886 14206-14206 MessageQueue-JNI        com.패키지.이름                   E  Exception in MessageQueue callback: handleReceiveCallback
2023-04-27 11:21:32.888 14206-14206 MessageQueue-JNI        com.패키지.이름                   E  java.lang.NullPointerException
                                                                                                    	at com.kakaomobility.knsdk.ui.component.KNComponentMapView.scaleToRouteRect(KNComponentMapView.kt:8)
                                                                                                    	at com.kakaomobility.knsdk.ui.component.KNComponentMapView.scaleToRouteRect$default(KNComponentMapView.kt:1)
                                                                                                    	at com.kakaomobility.knsdk.ui.view.KNNaviView.bottomMenuViewFullRoute(KNNaviView.kt:5)
                                                                                                    	at com.kakaomobility.knsdk.ui.view.KNNaviView.mapViewDidDoubleTap(KNNaviView.kt:11)
                                                                                                    	at com.kakaomobility.knsdk.ui.component.KNComponentMapView.onDoubleTapped(KNComponentMapView.kt:1)
                                                                                                    	at com.kakaomobility.knsdk.map.knmapview.idl.b.onDoubleTap(KNGestureDetector.kt:6)
                                                                                                    	at android.view.GestureDetector.onTouchEvent(GestureDetector.java:651)
                                                                                                    	at com.kakaomobility.knsdk.map.knmapview.KNMapView.onTouchEvent(KNMapView.kt:36)
                                                                                                    	at android.view.View.dispatchTouchEvent(View.java:15199)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:958)
                                                                                                    	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1957)
                                                                                                    	at android.app.Activity.dispatchTouchEvent(Activity.java:4187)
                                                                                                    	at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70)
                                                                                                    	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:916)
                                                                                                    	at android.view.View.dispatchPointerEvent(View.java:15458)
                                                                                                    	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7582)
                                                                                                    	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7358)
                                                                                                    	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6709)
                                                                                                    	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6766)
                                                                                                    	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6732)
                                                                                                    	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6911)
2023-04-27 11:21:32.888 14206-14206 MessageQueue-JNI        com.패키지.이름                   E  	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6740)
                                                                                                    	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6968)
                                                                                                    	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6713)
                                                                                                    	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6766)
                                                                                                    	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6732)
                                                                                                    	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6740)
                                                                                                    	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6713)
                                                                                                    	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10001)
                                                                                                    	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9839)
                                                                                                    	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9792)
                                                                                                    	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10135)
                                                                                                    	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220)
                                                                                                    	at android.os.MessageQueue.nativePollOnce(Native Method)
                                                                                                    	at android.os.MessageQueue.next(MessageQueue.java:335)
                                                                                                    	at android.os.Looper.loop(Looper.java:207)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8676)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
--------- beginning of crash
2023-04-27 11:21:32.888 14206-14206 AndroidRuntime          com.패키지.이름                   D  Shutting down VM
2023-04-27 11:21:32.890 14206-14206 AndroidRuntime          com.패키지.이름                   E  FATAL EXCEPTION: main
                                                                                                    Process: com.패키지.이름, PID: 14206
                                                                                                    java.lang.NullPointerException
                                                                                                    	at com.kakaomobility.knsdk.ui.component.KNComponentMapView.scaleToRouteRect(KNComponentMapView.kt:8)
                                                                                                    	at com.kakaomobility.knsdk.ui.component.KNComponentMapView.scaleToRouteRect$default(KNComponentMapView.kt:1)
                                                                                                    	at com.kakaomobility.knsdk.ui.view.KNNaviView.bottomMenuViewFullRoute(KNNaviView.kt:5)
                                                                                                    	at com.kakaomobility.knsdk.ui.view.KNNaviView.mapViewDidDoubleTap(KNNaviView.kt:11)
                                                                                                    	at com.kakaomobility.knsdk.ui.component.KNComponentMapView.onDoubleTapped(KNComponentMapView.kt:1)
                                                                                                    	at com.kakaomobility.knsdk.map.knmapview.idl.b.onDoubleTap(KNGestureDetector.kt:6)
                                                                                                    	at android.view.GestureDetector.onTouchEvent(GestureDetector.java:651)
                                                                                                    	at com.kakaomobility.knsdk.map.knmapview.KNMapView.onTouchEvent(KNMapView.kt:36)
                                                                                                    	at android.view.View.dispatchTouchEvent(View.java:15199)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
                                                                                                    	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3535)
                                                                                                    	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:958)
                                                                                                    	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1957)
                                                                                                    	at android.app.Activity.dispatchTouchEvent(Activity.java:4187)
                                                                                                    	at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70)
                                                                                                    	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:916)
                                                                                                    	at android.view.View.dispatchPointerEvent(View.java:15458)
                                                                                                    	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7582)
                                                                                                    	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7358)
                                                                                                    	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6709)
                                                                                                    	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6766)
                                                                                                    	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6732)
                                                                                                    	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6911)
2023-04-27 11:21:32.890 14206-14206 AndroidRuntime          com.패키지.이름                   E  	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6740)
                                                                                                    	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6968)
                                                                                                    	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6713)
                                                                                                    	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6766)
                                                                                                    	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6732)
                                                                                                    	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6740)
                                                                                                    	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6713)
                                                                                                    	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10001)
                                                                                                    	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9839)
                                                                                                    	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9792)
                                                                                                    	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10135)
                                                                                                    	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220)
                                                                                                    	at android.os.MessageQueue.nativePollOnce(Native Method)
                                                                                                    	at android.os.MessageQueue.next(MessageQueue.java:335)
                                                                                                    	at android.os.Looper.loop(Looper.java:207)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8676)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
2023-04-27 11:21:33.001 14206-14206 Process                 com.패키지.이름                   I  Sending signal. PID: 14206 SIG: 9
---------------------------- PROCESS ENDED (14206) for package com.패키지.이름 ----------------------------
2023-04-27 11:21:33.274  1229-1229  EdgeLighti...entManager system_server                        E  stopEdgeLightingInternal mHosts is null. pkg=com.패키지.이름,reason=1

안녕하세요
해당 오류는 위에서 설명드렸던 GPS 수신과 관련된 이슈이며,
처음 길안내 시작 시, GPS가 정상적으로 수신되지 않은 경우(UI가 정상적으로 표출되지 않았을 경우)에 발생하는 문제입니다
해당 오류는 이후 배포되는 버전에서 적용될 예정입니다
감사합니다

1개의 좋아요

@gary.p @kakaonavi 감사합니다^^

1개의 좋아요