3

사용자가이 권한을 승인하지 않으면 의미가없는 활동에서 ACCESS_FINE_LOCATION에 대한 권한을 요청하고 있으므로 사용자가이를 거부하면 활동을 종료합니다. 문제는 사용자가 "다시 묻지 않기" 옵션을 선택하여 요청을 거부하면 해당 상태를 다시 설정하고 나중에 사용자가 마음을 바꾸면 다시 묻는 방법을 모릅니다. 사전에 어떤 도움"다시 묻지 않음"옵션없이 권한 대화 상자를 요청하려면 어떻게해야합니까?

private void loadLocPredictions() { 
    //ToDo clean the permission thingy up. 
    if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 

     ActivityCompat.requestPermissions(this, 
       new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 
       PERMISSIONS_REQUEST_FINE_LOCACTION); 

     return; 
    } 
// Do stuff... 
} 


@Override 
public void onRequestPermissionsResult(int requestCode, 
             String permissions[], int[] grantResults) { 
    switch (requestCode) { 
     case PERMISSIONS_REQUEST_FINE_LOCACTION: { 
      if (grantResults.length > 0 
        && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
       loadLocPredictions(); 
      } else { 
       finish(); 
      } 
      return; 
     } 
    } 
} 

enter image description here

enter image description here 감사합니다. 나는 아마 여기에 사소한 것이나, 그냥 커피가 빠져있을 것이다. 저 경우에 저를 downvote 자유롭게 느끼십시오.

답변

1

사용자가 전적으로 제어하므로 코드에서 재설정 할 수 없습니다.

사용자 중 하나를 수행 할 수 있습니다

clear data (Settings > Apps > your app > Storage > Clear Data) 

또는

uninstalling/re-install the app 
1

매튜의 대답은 올바른 것입니다. 감사.

도움이 필요한 경우 : 사용자가 영구적으로 권한을 거부하면 Google지도 및 Instagram에서 수행하는 작업입니다.

enter image description here enter image description here

enter image description here

관련 문제