Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android GPS app not working on Emulator

I have unsuccessfully attempted to get GPS Location to work for my app under Android. I would like to know what I might be doing wrong. I have so far tried the following methods:

  • Get GPS Location instantly via Android app
  • http://www.javacodegeeks.com/2010/09/android-location-based-services.html
  • http://about-android.blogspot.de/2010/04/find-current-location-in-android-gps.html

as well as many others, but all in vain.

Considering that all the solutions above worked for some or the other person, I will use this one to debug:

package my.namespace;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class HomeActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    LocationListener ll = new mylocationlistener();
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
    }

    private class mylocationlistener implements LocationListener {
    public void onLocationChanged(Location location) {
        if (location != null) {
        Log.d("LOCATION CHANGED", location.getLatitude() + "");
        Log.d("LOCATION CHANGED", location.getLongitude() + "");
        Toast.makeText(HomeActivity.this,
            location.getLatitude() + "" + location.getLongitude(),
            Toast.LENGTH_LONG).show();
        }
    }
    public void onProviderDisabled(String provider) {
    }
    public void onProviderEnabled(String provider) {
    }
    public void onStatusChanged(String provider, int status, Bundle extras) {
    }
    }
}

There were @override annotations for the 3 methods onProviderDisabled, onProviderEnabled and onStatusChanged. I had to remove them because Eclipse gave an error that these methods are not overriding a superclass.

I have added the permissions in the manifest file (ACCESS_FINE_LOCATION, ACCESS_MOCK_LOCATION, ACCESS_COARSE_LOCATION and INTERNET).

Does anyone have an idea what I might be doing wrong?

Edit: running on Emulator (Android 2.2 API 8)

like image 311
gkris Avatar asked Apr 26 '12 11:04

gkris


People also ask

How do I enable GPS on Android Emulator?

Select "Emulator Control" Tab. At bottom you will see Location Controls Panel. Select "Manual" Tab. Enter Longitude and Latitude in Textboxs then Click Send Button.

Why is my GPS not working Android?

In this case where your location is not working on android, turning on Google Location Accuracy could help. Simply draw down the quick-setting panel. Tap and hold on the 'Location' shortcut to go straight to the location settings. Tap "Google Location Accuracy" and then toggle on the service.

How do I set my GPS emulator?

When setting up GPS emulator, you need to go to your Settings > About on your Android device. Then tap on the Build number seven times, which activates the developer mode. Now head back to the main settings, where you should see a new option menu called "Developer Options".

How do I get current location on emulator?

From terminal run telnet localhost 5554 , you are now in emulator shell. Type help ,it will show available commands , like faking a call, sms, battery etc. To know more about a command type help <command name> . Type help geo , it will print available location commands.


1 Answers

Make sure to enable GPS when you test your app. It would also help if you use NETWORK_PROVIDER and GPS_PROVIDER both. So that when GPS is not available you still get the location with NETWORK_PROVIDER.

UPDATE: Also, if you are using emulator to test your app, make sure you emulate the GPS fix either from command line or using Eclipse. here is a link to stackoverflow question about how to do this How to emulate GPS location in the Android Emulator?

like image 182
binW Avatar answered Nov 15 '22 06:11

binW