2012-02-17 5 views
1

나는 사용자 위치를 찾기 위해 응용 프로그램을 작성 중입니다. 내 mapview에서 나는 완벽한 작업을 완료합니다. 그러나 위치를 찾는 동안 나는 그것을 얻지 않았다. 아래 .. 너무 내 코드와 로그 캣 오류가Android 현재 위치 찾기 오류

코드 :

tv = (TextView)findViewById(R.id.tv1); 

    mlocationManager =(LocationManager)getSystemService(LOCATION_SERVICE) ; 

    Criteria criteria = new Criteria(); 
    criteria.setAccuracy(Criteria.ACCURACY_FINE); 
    criteria.setPowerRequirement(Criteria.POWER_LOW); 

    String locatinProvider = mlocationManager.getBestProvider(criteria,true); 

    Location mlocation = mlocationManager.getLastKnownLocation(locatinProvider); 

    tv.setText("Last location lat:" +mlocation.getLatitude() + "long:" + mlocation.getLongitude()); 

로그 캣 : 거기의 마지막 위치를 사용할 수 또는 공급자가 무효 인 경우

02-17 17:13:12.260: E/AndroidRuntime(1215): FATAL EXCEPTION: main 
02-17 17:13:12.260: E/AndroidRuntime(1215): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.satyam.curlocation/com.satyam.curlocation.CurLocationActivity}: java.lang.NullPointerException 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.os.Looper.loop(Looper.java:123) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.main(ActivityThread.java:3647) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at java.lang.reflect.Method.invoke(Method.java:507) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at dalvik.system.NativeStart.main(Native Method) 
02-17 17:13:12.260: E/AndroidRuntime(1215): Caused by: java.lang.NullPointerException 
+1

활동 아래 MapActivity 클래스를 등록의 로그 캣의 관련 라인은 직접에 의한 "_below_ 있습니다. NullPointerException "입니다. 귀하의 질문에 그 내용을 포함 시키십시오. 그러면 문제를 일으킨 행이 무엇인지 알려줄 것입니다. –

+0

Paul이 내 질문을 올바르게 관리해 주셔서 감사합니다. – NovusMobile

+0

이 유형을 피하려면 "에뮬레이터 대신 장치로 디버깅을 시작해야합니까?" 제발 ... – NovusMobile

답변

4

getLastKnownLocation()는 null를 돌려줍니다. the manual을 참조하십시오. java.lang의 :

Location mlocation = mlocationManager.getLastKnownLocation(locatinProvider); 

if(mlocation != null){ 
    tv.setText("Last location lat:" +mlocation.getLatitude() + "long:" + mlocation.getLongitude()); 
}else{ 
    tv.setText("No last location available"); 
} 
+0

고마워요. 그것은 나를 위해 일했습니다. 큰 도움이 !!! – NovusMobile

+0

당신은 환영합니다 :) –

1

는 NullPointerException이 경우 안드로이드 ManifestFile.xml