2017-10-26 1 views
0

나는 이미 플레이 스토어에있는 앱을 가지고 있습니다. 나는 최근에 플레이 스토어에 새로운 apk를 추가했습니다. 이전에 위치, 카메라 및 연락처 (배열 형식으로 추가됨)에 대해 3 가지 권한을 추가했습니다.권한이 애플리케이션은 다음 항목에 액세스 할 수 있습니다. 내게 안드로이드에 play store의 업데이트 apk이 있음.

if (ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.MANAGE_DOCUMENTS) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 

     ActivityCompat.requestPermissions(this, 
       new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION 
         , android.Manifest.permission.MANAGE_DOCUMENTS, android.Manifest.permission.WRITE_EXTERNAL_STORAGE 
         , Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.CALL_PHONE 
         , Manifest.permission.READ_SMS, android.Manifest.permission.READ_SMS 
         , Manifest.permission.GET_ACCOUNTS, Manifest.permission.GET_ACCOUNTS}, 
       1000); 
    } 

은 이제 최신의 5 허가 (위치, 카메라, 연락처, 계정을 얻을, SMS를 읽기)으로 나누었다 Play 스토어에서 새로운 APK로 된 APK를 업데이트 한 후 설정 한. 그것은 안드로이드 6.0.please 에서이 문제를 극복하기위한 제안을 좀 허락을 요청하지 않습니다.

답변

1

논리적 오류가 있습니다. && 대신 ||을 사용하십시오.

모든 권한이 거부 된 경우에만 사용 권한을 요청했습니다. 둘 중 하나 이상이 거부되면 권한이 요청되지 않습니다.

주어진 사용 권한이 허용되지 않은 사용 권한을 요청하려면 ||을 사용하십시오.

런타임 권한을 처리하는 데 문제가있는 것처럼 보입니다. 내 라이브러리를 사용하여 런타임 권한을 쉽게 처리 할 수 ​​있습니다. https://github.com/nabinbhandari/Android-Permissions

+0

Nabin Bhandari 감사합니다. 내 하루를 저장했습니다. –

+0

죄송합니다. 자, 나는 올바른 것으로 표시했다. –

관련 문제