Android: Google Maps-Standort mit geringer Akkunutzung

Meine App verwendet derzeit Maps byGoogle Play Services

speficying:

mMap.setMyLocationEnabled(true);

Ich merke jedes Mal, wenn ich die Karte in meiner App anzeige:

die Position wird auf der Karte durch einen blauen Punkt angezeigtn der oberen Leiste wird ein Ortssymbol angezeigwenn ich Einstellungen / Standort des Telefons gehe, wird meine App als "Hohe Akkunutzung" gemeldet

Ich kann jedoch feststellen, dass es Apps gibt, die Karten verwenden und weiterhin den blauen Punkt des Standorts anzeigen, das Standortsymbol jedoch nicht in der oberen Leiste angezeigt wird und der Akku fast leer ist.

Meine App gewährt derzeit beide Berechtigungen:

android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATION

Meine Frage ist

wie kann ich den blauen Punkt des Standorts bei niedrigem Akkuladestand anzeigen?

Ist es möglich, die Genauigkeit / Akkunutzung per Code anzugeben?

AKTUALISIERE

igentlich wurde mir klar, dass der Weg dahin darin besteht, das @ zu benutzeGoogleApiClient 'sFusedLocationApi

    mGoogleApiClient = new GoogleApiClient.Builder(context)
            .addApi(LocationServices.API)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();

Ich habe den GoogleApiClient in meiner Aktivität konfiguriert und rufe auf:

GoogleApiClient.connect() beim Start der AktivitätGoogleApiClient.disconnect() auf dem Stopp der Aktivität

auf deronConnected Rückruf Ich habe die Kriterien für die Standortaktualisierungen festgelegt: Schnellstes Intervall von 1 Minute mit niedriger Energiepriorität:

    private static final LocationRequest REQUEST = LocationRequest.create()
        .setFastestInterval(60000)   // in milliseconds
        .setInterval(180000)         // in milliseconds
        .setPriority(LocationRequest.PRIORITY_LOW_POWER);

    @Override
    public void onConnected(Bundle bundle) {
        LocationServices.FusedLocationApi.requestLocationUpdates(
            mGoogleApiClient,
            REQUEST,
            this);  // LocationListener
    }

Ich habe getestet, ob der GoogleApiClient beim Start korrekt verbunden ist. Wenn ich jedoch das Fragment mit der eingebetteten MapView besuche, erhalte ich aus bestimmten Gründen immer noch dashoher Batterieverbrauch für meine App auf dem Bildschirm Einstellungen / Standort!

Es scheint, dass MapView diese Kriterien für geringen Stromverbrauch ignoriert!

Antworten auf die Frage(8)

Ihre Antwort auf die Frage