1

I have a problem with an android application I am working on. The application is working fine until the point I add the two lines of code which get the latitude and longitude of the user. When I add this code my app crashes for no obvious reason. Here is the code with the getLatitude and getLongitude methods. When I remove those two lines the app works just fine. Any ideas why this is happening?

public class Car_mode extends Activity implements LocationListener {

    private TextView latituteField;
private TextView longitudeField;
@Override
protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.carmode);

    latituteField = (TextView) findViewById(R.id.TextView04);
    longitudeField = (TextView) findViewById(R.id.TextView03);

    LocationManager locationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);


    Location mostRecentLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

    double lat = mostRecentLocation.getLatitude();
    double lng = mostRecentLocation.getLongitude();



    latituteField.setText("test");
    longitudeField.setText("test");
    setButtonClickListener();


}

Thanks in advance.

Here are the Logcat messages:

08-24 10:30:09.714: DEBUG/AndroidRuntime(281): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<

08-24 10:30:09.714: DEBUG/AndroidRuntime(281): CheckJNI is ON

08-24 10:30:09.844: DEBUG/AndroidRuntime(281): --- registering native functions ---

08-24 10:30:10.344: DEBUG/AndroidRuntime(281): Shutting down VM

08-24 10:30:10.354: DEBUG/dalvikvm(281): Debugger has detached; object registry had 1 entries

08-24 10:30:10.354: INFO/AndroidRuntime(281): NOTE: attach of thread 'Binder Thread #3' failed


08-24 10:30:10.784: DEBUG/AndroidRuntime(289): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<

08-24 10:30:10.784: DEBUG/AndroidRuntime(289): CheckJNI is ON

08-24 10:30:10.904: DEBUG/AndroidRuntime(289): --- registering native functions ---

08-24 10:30:11.414: INFO/ActivityManager(58): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.javoider.app/.main }

08-24 10:30:11.454: INFO/ActivityManager(58): Start proc com.javoider.app for activity com.javoider.app/.main: pid=295 uid=10036 gids={3003}

08-24 10:30:11.484: DEBUG/AndroidRuntime(289): Shutting down VM

08-24 10:30:11.484: DEBUG/dalvikvm(289): Debugger has detached; object registry had 1 entries

08-24 10:30:11.514: INFO/AndroidRuntime(289): NOTE: attach of thread 'Binder Thread #3' failed

08-24 10:30:12.404: INFO/ActivityManager(58): Displayed activity com.javoider.app/.main: 966 ms (total 592105 ms)

08-24 10:30:13.664: INFO/ActivityManager(58): Starting activity: Intent { act=android.intent.action.CARMODE cmp=com.javoider.app/.Car_mode }

08-24 10:30:13.763: DEBUG/AndroidRuntime(295): Shutting down VM

08-24 10:30:13.763: WARN/dalvikvm(295): threadid=1: thread exiting with uncaught exception (group=0x4001d800)

08-24 10:30:13.774: ERROR/AndroidRuntime(295): FATAL EXCEPTION: main

08-24 10:30:13.774: ERROR/AndroidRuntime(295): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.javoider.app/com.javoider.app.Car_mode}: java.lang.NullPointerException

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.os.Handler.dispatchMessage(Handler.java:99)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.os.Looper.loop(Looper.java:123)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.ActivityThread.main(ActivityThread.java:4627)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at java.lang.reflect.Method.invokeNative(Native Method)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at java.lang.reflect.Method.invoke(Method.java:521)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at dalvik.system.NativeStart.main(Native Method)

08-24 10:30:13.774: ERROR/AndroidRuntime(295): Caused by: java.lang.NullPointerException

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at com.javoider.app.Car_mode.onCreate(Car_mode.java:38)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)

08-24 10:30:13.774: ERROR/AndroidRuntime(295):     ... 11 more

08-24 10:30:13.784: WARN/ActivityManager(58):   Force finishing activity com.javoider.app/.Car_mode

08-24 10:30:13.784: WARN/ActivityManager(58):   Force finishing activity com.javoider.app/.main

08-24 10:30:14.284: WARN/ActivityManager(58): Activity pause timeout for HistoryRecord{450a11e0 com.javoider.app/.Car_mode}

08-24 10:30:15.493: INFO/Process(295): Sending signal. PID: 295 SIG: 9

08-24 10:30:15.503: INFO/WindowManager(58): WIN DEATH: Window{45086398 com.javoider.app/com.javoider.app.main paused=true}

08-24 10:30:15.503: INFO/ActivityManager(58): Process com.javoider.app (pid 295) has died.

08-24 10:30:15.533: WARN/InputManagerService(58): Got RemoteException sending setActive(false) notification to pid 295 uid 10036

08-24 10:30:16.295: WARN/KeyCharacterMap(124): No keyboard for id 0

08-24 10:30:16.295: WARN/KeyCharacterMap(124): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

08-24 10:30:24.666: WARN/ActivityManager(58): Activity destroy timeout for HistoryRecord{4508dcf8 com.javoider.app/.main}

08-24 10:30:24.666: WARN/ActivityManager(58): Activity destroy timeout for HistoryRecord{450a11e0 com.javoider.app/.Car_mode}
Nikola Despotoski
  • 46,951
  • 13
  • 114
  • 146
Dimitris
  • 49
  • 2
  • 10

1 Answers1

2

You have to fix your gps location in the emulator.See this link.

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        bestProvider = locationManager.getBestProvider(criteria,true);

    Location location = locationManager.getLastKnownLocation(bestProvider);
        double lat = location.getLatitude();
    double lng = location.getLongitude();
Community
  • 1
  • 1
Rasel
  • 16,129
  • 6
  • 40
  • 50
  • I tried this but it's not working. I mean, I can send the gps fix to the device, I tried it with Google Maps but my app still crashes even after I send the coordinates. any other ideas why this is happening? – Dimitris Aug 24 '11 at 13:30
  • yes. I added the following permissions: access fine location, access coarse location and internet. – Dimitris Aug 24 '11 at 13:52
  • nope, not working even with the updated answer. how can I verify that the GPS is on? – Dimitris Aug 24 '11 at 14:34
  • Use isProviderEnabled(provider) to check if the gps is on. – Nikola Despotoski Aug 24 '11 at 14:45
  • Goto Settings->Location/Security->Enable GPS – Rasel Aug 25 '11 at 02:50
  • thanks guys for your help but still the app is not working. I did what Nikola said to check if the GPS is on using the method described here [link](http://stackoverflow.com/questions/843675/how-do-i-find-out-if-the-gps-of-an-android-device-is-enabled/843716#843716) and it tells me that the GPS is not working. However, when I go to the location and security settings it looks like that GPS is on. this is really weird and I can't come with an idea to solve this problem. – Dimitris Aug 25 '11 at 09:07