Compruebe si el usuario ha activado GPS después de
Llano y simple. Comienzo una Actividad y compruebo si el teléfono tiene el módulo GPS habilitado o no. Si no está habilitado, le solicito al usuario un diálogo y le pregunto si desea habilitarlo manualmente. Sí, activar los ajustes de ubicación. Ahora el usuario puede habilitarlo si lo desea, pero tengo que comprobar lo que ha hecho.
try { isGPSEnabled = locationManager .isProviderEnabled(LocationManager.GPS_PROVIDER); } catch (Exception ex) {} if (isGPSEnabled) { locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, locationListenerGps); } else { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage( "Your GPS module is disabled. Would you like to enable it ?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // Sent user to GPS settings screen final ComponentName toLaunch = new ComponentName( "com.android.settings", "com.android.settings.SecuritySettings"); final Intent intent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setComponent(toLaunch); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivityForResult(intent, 1); dialog.dismiss(); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); }
Necesito saber lo que el usuario ha elegido en la configuración de ubicación, cuando él vuelve a fin de proceder con mi lógica en el código. Básicamente, tengo que esperar a que el usuario haga una elección y volver a mi actividad, y también para volver a comprobar el estado del módulo gps de nuevo.
- Permisos de aplicaciones en Android Marshmallow en PhoneGap
- Android - Cómo determinar si las coordenadas se encuentran en la carretera en Google Maps
- Google maps containsLocation en android
- Error invocar método virtual 'doble android.location.Location.getLatitude ()' en una referencia de objeto nulo
- Android Encuentra la latitud Longitud del punto X de la ubicación definida
- La ubicación de la red Android tarda horas en actualizar la ubicación
- Android: Obtener ubicación reciente solamente, no getLastKnownLocation?
- Obtener ubicación * gruesa * del proveedor de GPS en Android
- ¿Es posible simular ubicaciones con el nuevo proveedor de ubicación fusionado de Google?
- Simular la ubicación falsa en el dispositivo Android vía DDMS
- Ubicación Actualización en función del estado del dispositivo
- La aplicación de Android no puede acceder a la ubicación en el emulador mediante FusedLocationApi
- LocationClient getLastLocation () return null
¿Por qué no verificar LocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
en su método onActivityResult()
? Cuando el usuario regresa, este método debe ser llamado porque ha llamado startActivityForResult()
. Si el usuario ha habilitado GPS, entonces isProviderEnabled()
debería devolver un resultado diferente.
Alternativamente, siempre haga la comprobación GPS en su método onResume. Si el usuario regresa de los ajustes de ubicación y no ha habilitado GPS, simplemente recibirá el mismo mensaje hasta que se active GPS.
¿O me estoy perdiendo algo?
- WebView shouldOverrideUrlLoading () no se invocan enlaces no válidos
- Marcos RESTful para Android, iOS …?