Manifiesto GPS: GPS en la aplicación es opcional, quiere que esté disponible para GPS menos dispositivos también

Al subir mi aplicación en el mercado hoy en día, vi que sólo está disponible para dispositivos con GPS, por lo que esto excluye algunas tabletas.

GPS en mi aplicación es opcional. ¿Es posible liberar una aplicación para dispositivos con y sin GPS o tengo que hacer una versión extra (no sería un problema, sin embargo)?

Si es posible, supongo que hay algún tipo de método para comprobar si (deviceHasGPS ()) {…}. ¿Hay uno?

Esta es la parte de mi manifiesto:

<uses-permission android:name="android.permission.PREVENT_POWER_KEY" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> 

Edit: gracias por la respuesta Raghav Sood !

Añadir a Manifiesto:

 <uses-feature android:name="android.hardware.location.gps" android:required="false" /> 

Implementar lo siguiente:

 locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); boolean deviceHasGPS = false; if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) { deviceHasGPS = true; } 

Para probarlo en un dispositivo con gps, sólo rodear las cosas gps con if (deviceHasGPS) {…} a continuación, eliminar en el manifiesto:

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

Defina deviceHasGPS como siempre falso y verifique si la aplicación se cierra.

Agregue lo siguiente a su manifiesto

 <uses-feature android:name="android.hardware.location.gps" android:required="false" /> 

Esto le dirá a Google Play que, si bien su aplicación tiene el GPS, su requisito absoluto no es cierto. Sin embargo, debe manejar la falta de GPS en su aplicación con gracia, en lugar de dejar que se bloquee.

Para comprobar si el dispositivo tiene GPS, puede llamar a LocationManager.getAllProviders() y comprobar si LocationManager.GPS_PROVIDER se incluye en la lista.

  • LocationClient getLastLocation () return null
  • Android gps postion precisión círculo
  • Getlastknownlocation siempre devuelve null después de reinstalar el archivo apk a través de eclipse
  • Búsqueda de ubicación mediante MCC, MNC, LAC y ID de celda
  • saltando la ubicación en google maps por gps. (distancia imprecisa)
  • ¿Cómo determina Android si una aplicación tiene "Uso de batería alta" en "Solicitudes de ubicación recientes"?
  • Android es la lista negra de nuestra ubicación
  • Android Emulator no detecta GPS
  • Determinar un geopunto de otro, una distancia y un ángulo polar
  • ¿Cómo obtener sólo la ubicación de GPS con sencha touch?
  • Obtener la ubicación de Android a través de wifi no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.