2011-02-27 2 views
0

약 완료된 응용 프로그램이 있습니다. 전화가 온라인 상태 일 때 모든 것이 정상적으로 작동합니다.Android Google지도 오프라인 일 때 오류 발생

응용 프로그램이 곧 출시 될 예정이므로 전화가 오프라인 일 때 테스트 해 보았습니다. 이로 인해 충돌이 발생합니다.

일부 디버깅을 한 후에 오버레이를 추가하지 않으면 충돌이 발생하지 않는다는 것을 알았습니다. (그리드를 얻었고 이해할 수 있음)

오버레이가 무언가를 그리려고하면 곧바로 충돌합니다. 여기에는 제공되는 오버레이 "MyLocationOverlay"도 포함됩니다.이 오버레이는 GPS가 수정 사항을 얻 자마자 충돌하여 사용자 위치를 그리려합니다.

내가 누락 된 것이 있습니까?

호평 편집 ) 스택 추적

나는 내가

02-27 15:12:53.254: WARN/dalvikvm(5376): threadid=1: thread exiting with uncaught exception (group=0x400259f8) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376): FATAL EXCEPTION: main 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376): java.lang.NullPointerException 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.google.android.maps.ItemizedOverlay.getItemsAtLocation(ItemizedOverlay.java:617) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.google.android.maps.ItemizedOverlay.getItemAtLocation(ItemizedOverlay.java:586) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.google.android.maps.ItemizedOverlay.handleMotionEvent(ItemizedOverlay.java:498) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.google.android.maps.ItemizedOverlay.onTouchEvent(ItemizedOverlay.java:572) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.google.android.maps.OverlayBundle.onTouchEvent(OverlayBundle.java:63) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.google.android.maps.MapView.onTouchEvent(MapView.java:643) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.View.dispatchTouchEvent(View.java:3765) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:905) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:871) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:871) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:871) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:871) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1701) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1116) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.app.Activity.dispatchTouchEvent(Activity.java:2093) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1685) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1802) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.os.Looper.loop(Looper.java:144) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at android.app.ActivityThread.main(ActivityThread.java:4937) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at java.lang.reflect.Method.invoke(Method.java:521) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
02-27 15:12:53.264: ERROR/AndroidRuntime(5376):  at dalvik.system.NativeStart.main(Native Method) 
+0

Eclipse에서 'adb logcat', DDMS 또는 DDMS 퍼스펙티브를 사용하여 LogCat을 검사하고 충돌과 관련된 스택 추적을 살펴보십시오. – CommonsWare

+0

그물 또는 무언가에서 가져온 오버레이 아이콘입니까? – Reno

+0

@Reno 아니요, 그들은 – Victor

답변

1

I 점검 제일 먼저이었다 오버레이로 널 (null) 개체를 추가하지 않는 것이 확신 동일한 문제가 있었는데, 내가 추가 한 오버레이에 실제로 항목이 있는지 확인하여 해결했습니다. 항목없이 오버레이를 추가 할 때 스택 트레이스가 생겨 응용 프로그램이 강제 종료 될 수 없습니다.

이것은 android 2.1에 있으며 다른 버전에서 수정되었을 수 있습니다.