Activity.RequestPermissions(String[], Int32) 메서드

정의

이 애플리케이션에 부여할 권한을 요청합니다.

[Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)]
public void RequestPermissions (string[] permissions, int requestCode);
[<Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)>]
member this.RequestPermissions : string[] * int -> unit

매개 변수

permissions
String[]

요청된 권한입니다. Null이 아니고 비어 있지 않아야 합니다.

requestCode
Int32

에 보고된 #onRequestPermissionsResult(int, String[], int[])결과와 일치하는 애플리케이션별 요청 코드입니다. = 0이어야 >합니다.

특성

설명

이 애플리케이션에 부여할 권한을 요청합니다. 이러한 권한은 매니페스트에서 요청되어야 하며, 앱에 부여되지 않아야 하며, 플랫폼 또는 타사 앱에서 선언되었는지 여부에 관계없이 보호 수준 android.content.pm.PermissionInfo#PROTECTION_DANGEROUS dangerous을 가져야 합니다.

매니페스트에서 android.content.pm.PermissionInfo#PROTECTION_NORMAL 요청된 경우 설치 시 일반 권한이 부여됩니다. 매니페스트에서 요청된 경우 설치 시 서명 권한이 android.content.pm.PermissionInfo#PROTECTION_SIGNATURE 부여되고 앱의 서명이 사용 권한을 선언하는 앱의 서명과 일치합니다.

이 API를 호출하기 전에 를 호출 #shouldShowRequestPermissionRationale(String) 하여 시스템에서 사용 권한을 요청하기 전에 근거 UI를 표시하도록 권장하는 경우 검사.

앱에 요청된 권한이 없는 경우 사용자에게 수락을 위한 UI가 제공됩니다. 사용자가 요청된 권한을 수락하거나 거부하면 사용 권한이 부여되었는지 여부를 보고하는 #onRequestPermissionsResult(int, String[], int[]) 콜백을 받게 됩니다.

사용 권한을 요청해도 권한이 부여된다는 보장은 없으며 이 권한 없이 앱을 실행할 수 있어야 합니다.

이 메서드는 사용자가 부여할 권한과 거부할 권한을 선택할 수 있는 활동을 시작할 수 있습니다. 따라서 활동이 일시 중지되고 다시 시작될 수 있도록 준비해야 합니다. 또한 일부 권한을 부여하려면 애플리케이션을 다시 시작해야 할 수 있습니다. 이러한 경우 시스템은 결과를 #onRequestPermissionsResult(int, String[], int[])에 전달하기 전에 활동 스택을 다시 만듭니다.

사용 권한이 있는지 여부를 확인할 때 를 사용해야 #checkSelfPermission(String)합니다.

이 경우 활동이 를 포함한 #onRequestPermissionsResult(int, String[], int[])결과 콜백을 받지 못하기 true 때문에 활동이 로 설정 android.R.styleable#AndroidManifestActivity_noHistory noHistory 되면 사용 권한을 요청할 수 없습니다.

RuntimePermissions 샘플 앱은 이 메서드를 사용하여 런타임에 권한을 요청하는 방법을 보여 줍니다.

에 대한 Java 설명서입니다 android.app.Activity.requestPermissions(java.lang.String[], int).

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

적용 대상