Nach Permission Abfrage wird eigener Standort erst nach neustart der App angezeigt

  • Antworten:5
  • Bentwortet
Dominik Hartl
  • Forum-Beiträge: 44

18.02.2017, 17:39:00 via Website

Hallo Zusammen,

nachdem die Berechtigung wegen dem aktuellen Standort positiv beantwortet wurde, wird der aktuelle Standort noch nicht sofort angezeigt --> die app muss erst geschlossen und neu geöffnet werden :(
Anbei mein Code:

@Override
public void onRequestPermissionsResult(
        int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION: {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(Test.this,
                        "permission was granted, :)",
                        Toast.LENGTH_LONG).show();


            } else {
                Toast.makeText(Test.this,
                        "permission denied, ...:(",
                        Toast.LENGTH_LONG).show();
            }
            return;
        }

        // other 'case' lines to check for other
        // permissions this app might request
    }
}




@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));


    if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        ActivityCompat.requestPermissions(Test.this,
                new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);

        return;
    }
    mMap.setMyLocationEnabled(true);



}

}

Wie wird dies direkt nachdem die Abfrage beantwortet wurde angezeigt?
Danke & Schöne Grüße

Antworten
swa00
  • Forum-Beiträge: 3.704

18.02.2017, 17:53:12 via Website

Hallo Dominik,

das hat weniger mit deiner Permission zu tun , sondern mit dem Part ,
in den du den Listener eingebaut hast.
Den kann ich allerdings oben nicht erkennen , sondern eine feste Lat/Lon.

wird der aktuelle Standort noch nicht sofort angezeigt

Den Standort kann man nicht direkt abfragen , sondern muss ihn requesten und
auf den Callback des Interfaces warten.

— geändert am 18.02.2017, 17:56:10

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.02.2017, 17:55:35 via Website

Hallo Stefan,

danke für deine Antwort, was schlägst du vor um dies zu lösen?

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

19.02.2017, 22:56:29 via Website

Hallo Stefan,

erstmal danke für deine Hilfe. Da ich nicht viel Ahnung davon habe, verstehe ich auch nicht was ich laut dem Artikel genau machen muss :(

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

20.02.2017, 09:37:46 via Website

Und was ich mich frage, die Permission wird ja direkt während der Ausführung abgefragt, d.h. es müsste sich doch danach direkt verändern oder nicht?

Antworten