안녕하세요?

얼마전에 Android에 입문하여 매일 눈팅만 하다가 문제가 발생하여 여러 회원님들의 자문을 구하고자
이렇게 글 올립니다.

다름이 아니라 Google Map 관련 어플인 WhereAMI 프로그램을 작성하여 실행을 시켜 보았는데...
이 어플이 어떤 경우엔 잘 돌아가고 어떤 경우엔 아래 이미지와 같은 메세지와 함께 실행이 되질 않습니다.

정상적인 경우와 Error가 날 경우의 로그켓을 보니 "WhereAmI.java" 파일의 88번째 라인의

String provider = locationManager.getBestProvider(criteria, true);

문구에서 리터값이
"null" 또는 "GPS"에 따라 AndroidRuntime Exception 이 발생 하고 안하고 하는 것으로 보입니다.
이 문제에 대해서 해결 방법이 없을 려는지 답변 부탁 드리겠습니다.

그리고, 정상적으로 어플이 동작할 때 위치정보에 대한 갱신이 최대 2번 정도 밖에는 안되는 것으로 보이는데요...
다른 게시글을 찾아 보니 에뮬레이터 버그라는 말씀들이 있으시던데...

이 부분에 대해서 위치정보를 특정 텍스트 파일에 저장해 놓고 그 파일의 내용을 불러와 파싱하여 사용 할 수도
있을려는 지요? 이럴 경우 화면 갱신의 문제 등이 발생 하지는 않을려는지?
여러가지로 궁굼한 부분이 많네요....

제 개발 환경은 다음과 같습니다.
Java SE Development Kit 6u14 for Windows, Multi-language
Eclipse Platform Version: 3.4.2
Android 1.5 SDK r2
ADT_0_9_1 for Android 1.5 SDK

로그켓의 정보(어플 시작 부터 Force close 선택까지)는 아래를 참고 부탁 드립니다.

그럼 남은하루 즐겁게 보내시구요....
수고하세요...

감사합니다.

P.S 소스코드 첨부해 드립니다.

에뮬레이터에서 WhereAmI 어플 실행시 에러 메세지

■ 로그켓 내용

07-22 09:29:35.107: DEBUG/AndroidRuntime(1076): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<

07-22 09:29:35.107: DEBUG/AndroidRuntime(1076): CheckJNI is ON

07-22 09:29:35.276: DEBUG/AndroidRuntime(1076): --- registering native functions ---

07-22 09:29:35.286: INFO/jdwp(1076): received file descriptor 19 from ADB

07-22 09:29:35.846: INFO/ActivityManager(569): Starting activity: Intent { flags=0x10000000 comp={com.android.whereami/com.android.whereami.WhereAmI} }

07-22 09:29:35.898: DEBUG/AndroidRuntime(1076): Shutting down VM

07-22 09:29:35.898: DEBUG/dalvikvm(1076): DestroyJavaVM waiting for non-daemon threads to exit

07-22 09:29:35.937: INFO/ActivityManager(569): Start proc com.android.whereami for activity com.android.whereami/.WhereAmI: pid=1083 uid=10021 gids={3003}

07-22 09:29:35.947: DEBUG/dalvikvm(1076): DestroyJavaVM shutting VM down

07-22 09:29:35.947: DEBUG/dalvikvm(1076): HeapWorker thread shutting down

07-22 09:29:35.956: DEBUG/dalvikvm(1076): HeapWorker thread has shut down

07-22 09:29:35.956: DEBUG/jdwp(1076): JDWP shutting down net...

07-22 09:29:35.956: DEBUG/jdwp(1076): +++ peer disconnected

07-22 09:29:35.956: INFO/dalvikvm(1076): Debugger has detached; object registry had 1 entries

07-22 09:29:35.956: DEBUG/dalvikvm(1076): VM cleaning up

07-22 09:29:36.027: DEBUG/dalvikvm(1076): LinearAlloc 0x0 used 639228 of 4194304 (15%)

07-22 09:29:36.108: INFO/jdwp(1083): received file descriptor 10 from ADB

07-22 09:29:36.426: ERROR/ActivityThread(1083): Failed to find provider info for com.google.settings

07-22 09:29:36.586: DEBUG/WhereAmI(1083): ZoomLevel = 22

07-22 09:29:36.586: DEBUG/WhereAmI(1083): ZoomLevel = 13

07-22 09:29:36.676: DEBUG/LocationManager(1083): Constructor: service = android.location.ILocationManager$Stub$Proxy@437657f8

07-22 09:29:36.688: DEBUG/WhereAmI(1083): provider = null

07-22 09:29:36.697: DEBUG/AndroidRuntime(1083): Shutting down VM

07-22 09:29:36.697: WARN/dalvikvm(1083): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)

07-22 09:29:36.697: ERROR/AndroidRuntime(1083): Uncaught handler: thread main exiting due to uncaught exception

07-22 09:29:36.706: ERROR/AndroidRuntime(1083): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.whereami/com.android.whereami.WhereAmI}: java.lang.IllegalArgumentException: provider==null

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.os.Handler.dispatchMessage(Handler.java:99)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.os.Looper.loop(Looper.java:123)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.ActivityThread.main(ActivityThread.java:3948)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at java.lang.reflect.Method.invokeNative(Native Method)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at java.lang.reflect.Method.invoke(Method.java:521)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at dalvik.system.NativeStart.main(Native Method)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083): Caused by: java.lang.IllegalArgumentException: provider==null

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.location.LocationManager.getLastKnownLocation(LocationManager.java:952)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at com.android.whereami.WhereAmI.onCreate(WhereAmI.java:91)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)

07-22 09:29:36.706: ERROR/AndroidRuntime(1083):     ... 11 more

07-22 09:29:36.727: INFO/Process(569): Sending signal. PID: 1083 SIG: 3

07-22 09:29:36.727: INFO/dalvikvm(1083): threadid=7: reacting to signal 3

07-22 09:29:36.737: INFO/dalvikvm(1083): Wrote stack trace to '/data/anr/traces.txt'

07-22 09:29:40.446: INFO/Process(1083): Sending signal. PID: 1083 SIG: 9

07-22 09:29:40.456: INFO/ActivityManager(569): Process com.android.whereami (pid 1083) has died.

07-22 09:29:40.637: WARN/InputManagerService(569): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43633688