Permitir permissão de localização fina para substituir fragmento
Eu quero perguntar ao usuário se ele deseja conceder uma permissão para acessar sua boa localização e somente se ele conceder eu quero substituir um fragmento e abrir o fragmento do localizador. Nos fragmentos do localizador, existem algumas lojas que o usuário pode ver com base em sua localização. Se ele não permitir o acesso a uma boa localização, quero lhe mostrar uma mensagem adequada. Este é o código:
else if (id == R.id.nav_locator) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
1);
fragment = new LocatorFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragmentlayout, fragment);
ft.commit();
No momento, o aplicativo está travando porque inicia instantaneamente a substituição do fragmento e falha porque substitui antes que o usuário opte por aprovar ou não a localização.
Então basicamente eu precisoalguma idéia de loop ou algo assim isso ignorará a solicitação do usuário se ele optar por não permitir permissão e mostrar a mensagem adequada. E se ele optar por conceder, preciso substituir o fragmento como comum.