Ответ 1
Вот хороший пример на HelloAndroid
Проверьте GPS
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L,1.0f, this);
boolean isGPS = locationManager.isProviderEnabled (LocationManager.GPS_PROVIDER);
Если isGPS ложно, откройте настройки
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
Не забывайте проверять, что GPS включен, когда пользователь возвращается, возможно, он не включил его.