2012-02-17 5 views
1

Я работаю над приложением, чтобы найти местоположение пользователя. В моем представлении карты я полностью завершаю задачу. , но, находя местоположение, я этого не понял. ниже мой код и LogCat ошибка тоже ..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()); 

LogCat:

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

В случае NullPointerException, соответствующие строки в LogCat непосредственно _below_ «Вызванный: java.lang. Исключение нулевого указателя". Пожалуйста, включите их в свой вопрос, поскольку они расскажут нам (и вам), какая строка вызвала проблему. –

+0

Благодарим Пол за правильное управление моим вопросом. – NovusMobile

+0

Чтобы избежать этого типа, «нужно ли мне начинать отладку в устройстве вместо эмулятора?» пожалуйста, помогите мне ... – NovusMobile

ответ

4

getLastKnownLocation() возвращает нулевое значение, если нет последнего местоположения отсутствует или поставщик отключен. См. the manual.

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

thanx alot .. Это сработало для меня. Большая помощь !!! – NovusMobile

+0

Добро пожаловать :) –

1

зарегистрировать MapActivity класс под активность в Android ManifestFile.xml

Смежные вопросы