@AleAleA

Получить разрешение перед загрузкой карты Google Maps Android?

Здравствуйте, необходимо получить разрешение перед загрузкой карты Google Maps Android. Сейчас получается, что после согласия на определение моего местоположения, кнопка MyLocation не появляется, но после перезагрузки приложения кнопка уже на месте. По логике понятно, что необходимо соорудить разрешение перед загрузкой карты. Однако все физические перемещения части кода во все возможные места результата не дали.
Сам код:
protected void onCreate(Bundle savedInstanceState) {
        ActivityCompat.requestPermissions(
                this,
                new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                MY_LOCATION_REQUEST_CODE
        );
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

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

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
                == PackageManager.PERMISSION_GRANTED) {
            mMap.setMyLocationEnabled(true);
        }
        if (MY_LOCATION_REQUEST_CODE == 1) {
        } else {
        }
        mMap.getUiSettings().setMyLocationButtonEnabled(true);


Подскажите, как все таки соорудить разрешение перед загрузкой карты?
Заранее благодарен
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 1
thelongrunsmoke
@thelongrunsmoke
Программист
RTFM
Разрешения проверяете в onCreate(), если его нет, запрашиваете с помощью requestPermissions(), потом проверяете результат запроса в onRequestPermissionsResult().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы