확인 하 고 권한을 요청 하는 데 사용 되는 소스 코드는 활동의 검사자체권한 및 요청 권한 각각. 이러한 메서드는 API 수준 23에 추가됩니다. 이 페이지에서는 Android 지원 라이브러리를 사용하여 권한을 확인하고 요청하는 방법을 설명합니다. Android 프레임워크는 Android 6.0(API 수준 23)과 유사한 방법을 제공하지만 지원 라이브러리를 사용하면 이전 버전의 Android와의 호환성을 쉽게 제공할 수 있습니다. 그냥 단순히 안드로이드 매니페스트.xml에서 그 권한을 선언하고 잘 작동합니다. 취소할 수 없으므로 위에 나열된 권한을 확인할 필요가 없습니다. 결과적으로 응용 프로그램은 이전과 완벽하게 실행됩니다. 어쨌든 사용자는 여전히 그 후 권한을 취소 할 수 있습니다 유의하시기 바랍니다! 비록 안 드 로이드 6.0 그들은 그렇게 하려고 할 때 사용자에 게 경고 하지만 그들은 어쨌든 취소할 수 있습니다. 당신의 예는 나를 위해 매우 필요합니다 (여러 사전 에 대한) 상관없이 응용 프로그램은 M에서 실행됩니다 여부. 이 함수는 사용 권한이 부여된 경우 PERMISSION_GRANTED를 올바르게 반환합니다. 그렇지 않으면 PERMISSION_DENIED가 반환됩니다. 앱에 사용 권한이 있는 경우 메서드는 PERMISSION_GRANTED를 반환하고 앱은 작업을 계속할 수 있습니다. 앱에 사용 권한이 없는 경우 메서드는 PERMISSION_DENIED를 반환하고 앱은 사용자에게 권한을 명시적으로 요청해야 합니다.
손재주 예제 좋은 소식과 안드로이드 쉬운 런타임 권한을 읽고 (적어도 지금은) 이러한 경우는 거의이 권한 취소 기능은 매우 새로운 이후 발생하지 않을 수 있습니다 나는 단지 몇 사용자가 그것을 할 것이라고 생각합니다. 경우에 그들은 결과를 받아 들여야합니다. 사용자가 사용 권한이 필요한 기능을 계속 사용하려고 하지만 권한 요청을 거부하는 경우 앱에서 해당 기능을 제공하기 위한 권한이 필요한 이유를 사용자가 이해하지 못하는 것일 수 있습니다. 그런 상황에서는 설명을 표시하는 것이 좋습니다. 매니페스트에 권한을 추가하는 것은 런타임 권한을 요청하는 유일한 옵션입니다. 앱을 거부하는 이유는 다른 이유여야 합니다. 위험 및 런타임 권한의 개념은 구글 자체에 의해 개발된다. 우리는 이러한 개념을 제어 할 수 없습니다. 이를 위해 Android 다중 런타임 권한 예제를 읽으면 앱에서 자습서를 제공하는 경우 자습서 시퀀스 끝에 앱의 필수 권한을 요청하는 것이 좋습니다. 사용자가 완전히 이해하지 못하는 부적절한 권한 요청은 사용자가 권한을 부여하지 못하는 결과를 초래할 수 있습니다. 안드로이드 M 권한 모델에 관한이 좋은 설명을 많이 감사합니다.
나는 질문이 있지만, 위에 표시된 권한 요청 대화 상자가 자동으로 실행되지 않습니다 유의하시기 바랍니다. 개발자는 수동으로 호출해야 합니다. 개발자가 아직 사용자에게 부여하지 않은 권한이 필요한 일부 함수를 호출하려고 하면 함수가 갑자기 예외를 throw하여 응용 프로그램이 충돌하게 됩니다. 시스템에서 사용자에게 권한을 부여하도록 요청하면 사용자는 시스템에 해당 권한을 다시 요청하지 말라고 지시할 수 있습니다. 이 경우 앱에서 requestPermissions()를 사용하여 해당 권한을 다시 요청할 때마다 시스템은 즉시 요청을 거부합니다. 시스템은 onRequestPermissionsResult() 콜백 메서드를 호출하고 사용자가 요청을 다시 명시적으로 거부한 경우와 동일한 방식으로 PERMISSION_DENIED를 전달합니다. 또한 장치 정책에서 앱이 해당 권한을 갖지 못하도록 하는 경우에도 false를 반환합니다. 즉, requestRequest를 호출할 때권한() 사용자가 직접 상호 작용했다고 가정할 수 없습니다.