Al momento di caricare la mia app sul mercato oggi, ho visto che è disponibile solo per i dispositivi con GPS, quindi questo esclude alcuni tablet.Manifest GPS: GPS in App è opzionale, desidera renderlo disponibile anche ai dispositivi GPS.
Il GPS nella mia app è opzionale. È possibile rilasciare una sola app per dispositivi con e senza GPS o devo fare una versione extra (non sarebbe un problema, però)?
Se è possibile, immagino ci sia un qualche tipo di metodo per verificare se (deviceHasGPS()) {...}. C'è uno?
Questa è la parte della mia manifesta:
<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: Grazie per la risposta Raghav Sood!
Aggiungi per manifestare:
<uses-feature android:name="android.hardware.location.gps"
android:required="false" />
implementare le seguenti:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
boolean deviceHasGPS = false;
if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {
deviceHasGPS = true;
}
di provarlo su un dispositivo con GPS, basta circondano le cose gps con if (deviceHasGPS) {...} quindi rimuovere nel manifesto:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
set deviceHasGPS per sempre false e vedere se la forza dell'app si chiude.
Grazie, questo funziona, a patto che non si rimuovano i permessi di localizzazione, sono necessari per far funzionare l'app. – petter
Si potrebbe anche aggiungere ' ' and ' 'poiché alcuni dispositivi non dispongono di alcun servizio di localizzazione. –
petter