wiatag tag golf android gps android-manifest

android - golf - gps trace tag



Manifiesto de GPS: el GPS en la aplicación es opcional, también desea que esté disponible para dispositivos con menos GPS (1)

Agrega lo siguiente a tu 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 GPS, el 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 verificar si el dispositivo tiene GPS, puede llamar a LocationManager.getAllProviders() y verificar si LocationManager.GPS_PROVIDER está incluido en la lista.

Al cargar mi aplicación en el mercado hoy, vi que solo está disponible para dispositivos con GPS, por lo que esto excluye algunas tabletas.

GPS en mi aplicación es opcional. ¿Es posible lanzar una aplicación para dispositivos con y sin GPS o necesito hacer una versión adicional (aunque no sería un problema)?

Si es posible, supongo que hay algún tipo de método para verificar 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 al 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, simplemente rodee las cosas de gps con if (deviceHasGPS) {...} y luego elimínelo en el manifiesto:

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

establece deviceHasGPS en siempre falso y ve si la aplicación se cierra.