문법
<grant-uri-permission android:path="string"
                      android:pathPattern="string"
                      android:pathPrefix="string" />
포함된 요소
<provider>
설명
상위 콘텐츠 제공자에 액세스 권한이 있는 앱 데이터의 하위 집합을 지정합니다. 데이터 하위 집합은 content: URI의 경로 부분으로 나타냅니다. URI의 권한 부분은 콘텐츠 제공자를 식별합니다. 권한 부여는 일반적으로 데이터 액세스 권한이 없는 제공자의 클라이언트가 일회성으로 제한을 극복할 수 있도록 하는 방법입니다.

콘텐츠 제공자의 grantUriPermissions 속성이 'true'이면 제공자의 범위 내에 있는 모든 데이터에 관한 권한을 부여할 수 있습니다. 하지만 이 속성이 'false'면 이 요소에서 지정하는 데이터 하위 집합에만 권한을 부여할 수 있습니다. 제공자는 <grant-uri-permission> 요소를 원하는 만큼 포함할 수 있습니다. 각 속성은 하나의 경로만(가능한 속성 3개 중 하나만) 지정할 수 있습니다.

권한 부여 방법에 관한 자세한 내용은 <intent-filter> 요소의 grantUriPermissions 속성을 참고하세요.

속성
android:path
android:pathPrefix
android:pathPattern
권한이 부여될 수 있는 데이터 하위 집합을 식별하는 경로입니다. path 속성은 전체 경로를 지정하며, 이 경로로 식별된 특정 데이터 하위 집합에만 권한이 부여될 수 있습니다. pathPrefix 속성은 경로의 처음 부분을 지정하며, 그 초기 부분을 공유하는 경로가 포함된 모든 데이터 하위 집합에 권한이 부여될 수 있습니다. pathPattern 속성은 다음 와일드 카드를 포함할 수 있는 전체 경로를 지정합니다.
  • 별표('*')는 바로 앞에 나오는 문자가 0번 이상 발생하는 것을 나타내고
  • 마침표 다음에 별표('.*')는 어떤 문자든 0번 이상 발생하는 것을 나타냅니다.

'\'는 XML에서 문자열이 읽힐 때 패턴으로 파싱되기 전에 이스케이프 문자로 사용되므로 두 번 이스케이프 처리해야 합니다. 예를 들어 '*'를 문자 그대로 사용하려면 '\\*'로, '\'를 문자 그대로 사용하려면 '\\\\'로 써야 합니다. 이는 자바 코드로 문자열을 구성하는 경우 작성해야 하는 방식과 기본적으로 동일합니다.

이러한 유형의 패턴에 관한 자세한 내용은 PatternMatcher 클래스의 PATTERN_LITERAL, PATTERN_PREFIX, PATTERN_SIMPLE_GLOB 설명을 참고하세요.

도입 시기
API 수준 1
참고 항목
<provider> 요소의 grantUriPermissions 속성