gps로 요청 위치에 대한 클래스를 만들었으므로이 클래스를 활동에 사용하여 경도와 위도를 요청할 수는 있지만 항상이 오류가 발생합니다. 그 이유는 알 수 없습니다.error gps requestLocationUpdates android
07-10 17:13:49.645: E/AndroidRuntime(10269): FATAL EXCEPTION: main
07-10 17:13:49.645: E/AndroidRuntime(10269): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.provags/com.example.provags.MainActivity}: java.lang.NullPointerException
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.ActivityThread.access$600(ActivityThread.java:123)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.os.Looper.loop(Looper.java:137)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.ActivityThread.main(ActivityThread.java:4424)
07-10 17:13:49.645: E/AndroidRuntime(10269): at java.lang.reflect.Method.invokeNative(Native Method)
07-10 17:13:49.645: E/AndroidRuntime(10269): at java.lang.reflect.Method.invoke(Method.java:511)
07-10 17:13:49.645: E/AndroidRuntime(10269): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
07-10 17:13:49.645: E/AndroidRuntime(10269): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
07-10 17:13:49.645: E/AndroidRuntime(10269): at dalvik.system.NativeStart.main(Native Method)
07-10 17:13:49.645: E/AndroidRuntime(10269): Caused by: java.lang.NullPointerException
07-10 17:13:49.645: E/AndroidRuntime(10269): at com.example.provags.Gps.getLocation(Gps.java:19)
07-10 17:13:49.645: E/AndroidRuntime(10269): at com.example.provags.Gps.<init>(Gps.java:16)
07-10 17:13:49.645: E/AndroidRuntime(10269): at com.example.provags.MainActivity.onCreate(MainActivity.java:16)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.Activity.performCreate(Activity.java:4465)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
07-10 17:13:49.645: E/AndroidRuntime(10269): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
07-10 17:13:49.645: E/AndroidRuntime(10269): ... 11 more
GPS에 의한 위치 정보를 요청하는 방법이 ..
이런 로그 캣을했다. 그것은 모든 괜찮아 보이지만 그것은 작동하지 않습니다 :(
public class Gps implements LocationListener {
Context myContext;
Location posizione;
double latitudine,longitudine;
LocationManager locationManager;
public Gps(Context c){
myContext=c;
getLocation();
}
public Location getLocation(){
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
if(locationManager!=null){
posizione=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(posizione!=null){
latitudine=posizione.getLatitude();
longitudine=posizione.getLongitude();
}
}
return posizione;
}
public double latitudine(){
if(posizione!=null){
latitudine=posizione.getLatitude();
}
return latitudine;
}
public double longitudine(){
if(posizione!=null){
longitudine=posizione.getLongitude();
}
return longitudine;
}
public void stopGps(){
if (locationManager!=null){
locationManager.removeUpdates(Gps.this);
}
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
당신이 날 당신이 locationManager.requestLocationUpdates를 호출하기 전에 혹시을 locationManager를 초기화 마십시오
빠른 질문 : 당신의 생성자에서 당신이 정의한'Selecsosi 말했듯이
은 또한 당신이 실제로 어딘가에 위치 관리자를 얻을 필요 getLocation();'그러나 getLocation() 함수는'Location'을 반환합니다. 맞습니까? Gps 생성자에서 'Location l = getLocation();'과 같지 않아야합니까? –
오류가 발생하는 코드 행 (19 행) : com.example.provags.Gps.getLocation (Gps.java:19)에서 사용자를 가리 킵니다. 내 생각 엔 LocationManager가 null이라는 것입니다. – Jack