GPS-Manifest: GPS in der App optional ist, wollen Sie zur Verfügung, um GPS-weniger Geräte zu

Auf hochladen meiner App auf dem Markt heute, sah ich, dass es nur für Geräte mit GPS, so schließt diese einige Tabletten.

GPS in meiner Anwendung ist optional. Ist es möglich, die Veröffentlichung einer App für Geräte mit und ohne GPS oder muss ich eine extra version (wäre kein problem, obwohl)?

Wenn es möglich ist, ich denke, es ist eine Art von Methode zu überprüfen, ob(deviceHasGPS()){...}.
Gibt es eine ?

Dies ist der Teil, der mein manifest:

<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: danke für die Antwort Raghav Sood!

Hinzufügen zu Manifestieren:

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

Folgende Maßnahmen durchzuführen:

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

um es zu testen auf einem Gerät mit gps, umgeben Sie die gps-Dinge mit, wenn(deviceHasGPS){...}
entfernen Sie dann in dem manifest:

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

set deviceHasGPS immer falsch und sehen, wenn die App Kraft schließt.

  • Danke, das funktioniert, solange Sie nicht entfernen Sie die Lage Berechtigungen sind erforderlich für die app zu arbeiten.
  • Sie könnten auch <uses-feature android:name="android.hardware.location" android:required="false" /> und <uses-feature android:name="android.hardware.location.network" android:required="false" /> da einige Geräte haben keinen Ort-service.
InformationsquelleAutor stefple | 2012-06-17
Schreibe einen Kommentar