- 문법:
- 데이터 태그가
<intent-filter>
의 즉시 하위 요소인 경우:
<data android:scheme="string" android:host="string" android:port="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:mimeType="string" />
데이터 태그가<uri-relative-filter-group>
의 즉시 하위 요소인 경우:
<data android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:fragment="string" android:fragmentPattern="string" android:fragmentPrefix="string" android:fragmentSuffix="string" android:fragmentAdvancedPattern="string" android:query="string" android:queryPattern="string" android:queryPrefix="string" android:querySuffix="string" android:queryAdvancedPattern="string" />
- 포함된 위치:
-
<intent-filter>
<uri-relative-filter-group>
- 설명
- 데이터 사양을 인텐트 필터에 추가합니다. 사양은
mimeType
속성, URI 또는 데이터 유형과 URI를 모두 사용하는 데이터 유형입니다. URI는 사양의 부분별로 개별 속성으로 지정됩니다.<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]
URI 형식을 지정하는 이러한 속성은 선택사항이지만 상호 의존적입니다.
동일한
<intent-filter>
요소에 포함된 모든<data>
요소는 동일한 필터에 기여합니다. 다음 필터 사양을 예로 들겠습니다.<intent-filter . . . > <data android:scheme="something" android:host="project.example.com" /> ... </intent-filter>
다음과 동일합니다.
<intent-filter . . . > <data android:scheme="something" /> <data android:host="project.example.com" /> ... </intent-filter>
<intent-filter>
내부에<data>
요소를 원하는 수만큼 배치하여 여러 데이터 옵션을 제공할 수 있습니다. 속성에 기본값은 없습니다.인텐트 객체와 필터의 일치 방식에 적용되는 규칙을 포함하여 인텐트 필터의 작동 방식에 관한 자세한 내용은 인텐트 및 인텐트 필터와 매니페스트 파일 개요의 인텐트 필터 섹션을 참고하세요.
- 속성:
android:scheme
- URI의 스키마 부분입니다. 이는 URI를 지정하기 위한 최소한의 필수 속성입니다. 필터에
scheme
속성을 하나 이상 설정해야 하며, 그러지 않으면 다른 URI 속성이 의미가 없습니다.스키마는 후행 콜론 없이 지정됩니다(예:
http:
대신http
).필터에 데이터 유형(
mimeType
속성 사용)이 설정되어 있지만 스키마는 설정되어 있지 않다면content:
스키마와file:
스키마로 가정됩니다.참고: Android 프레임워크의 스키마 일치는 RFC와 달리 대소문자를 구분합니다. 따라서 항상 소문자를 사용하여 스키마를 지정합니다.
android:host
- URI 권한의 호스트 부분입니다. 이 속성은 필터에
scheme
속성도 지정되어 있지 않으면 의미가 없습니다. 여러 하위 도메인을 일치시키려면 별표(*
)를 사용하여 호스트에서 문자 0개 이상을 찾습니다. 예를 들어 호스트*.google.com
은www.google.com
,.google.com
,developer.google.com
과 일치합니다.별표는 호스트 속성의 첫 문자여야 합니다. 예를 들어 호스트
google.co.*
는 유효하지 않습니다. 별표 와일드 카드가 첫 문자가 아니기 때문입니다.참고: Android 프레임워크의 호스트 이름 일치는 정식 RFC와 달리 대소문자를 구분합니다. 따라서 항상 소문자를 사용하여 호스트 이름을 지정합니다.
android:port
- URI 권한의 포트 부분입니다. 이 속성은 필터에
scheme
속성과host
속성도 지정되어 있어야 의미가 있습니다. android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
- URI의 경로 부분으로,
/
로 시작해야 합니다.path
속성은Intent
객체의 전체 경로와 일치하는 전체 경로를 지정합니다.pathPrefix
속성은Intent
객체의 경로 중 처음 부분만 일치하는 일부 경로를 지정합니다.pathSuffix
속성은Intent
객체의 경로 끝 부분과 정확하게 일치하며 이 속성은/
문자로 시작할 필요가 없습니다.pathPattern
속성은Intent
객체의 전체 경로와 일치하는 완전한 경로를 지정하지만 다음 와일드 카드를 포함할 수 있습니다.*
: 별표를 사용하면 바로 앞에 있는 문자가 0번 이상 나오는 일치 항목을 찾습니다..*
: 마침표 다음에 별표를 사용하면 0자 이상 일치하는 항목을 찾습니다.
pathAdvancedPattern
속성은Intent
객체의 전체 경로와 일치하는 전체 경로를 지정하며, 다음의 정규식과 유사한 패턴을 지원합니다.-
마침표(
.
)는 모든 문자와 일치합니다. -
집합(
[...]
)은 문자 범위와 일치합니다. 예를 들어[0-5]
는 0부터 5까지의 한 자릿수와 일치하지만 6에서 9까지와는 일치하지 않습니다.[a-zA-Z]
는 대소문자와 관계없이 모든 문자와 일치합니다. 집합은 'not'^
수정자도 지원합니다. -
별표(
*
) 수정자는 앞의 패턴과 0번 이상 일치합니다. -
더하기(
+
) 수정자는 앞의 패턴과 한 번 이상 일치합니다. -
범위(
{...}
) 수정자는 패턴이 일치할 수 있는 횟수를 지정합니다.
pathAdvancedPattern
매처는 역추적 지원 없이 실시간으로 패턴의 일치를 확인하는 평가 구현입니다.\
는 XML에서 문자열을 읽을 때 이스케이프 문자로 사용되므로 패턴으로 파싱되기 전에 두 번 이스케이프 처리해야 합니다. 예를 들어 리터럴*
는\\*
로 작성되고 리터럴\
는\\\
로 작성됩니다. 이는 Java 코드로 문자열을 구성할 때 작성하는 것과 같습니다.이러한 다섯 가지 유형의 패턴에 관한 자세한 내용은
PatternMatcher
클래스의PATTERN_LITERAL
,PATTERN_PREFIX
,PATTERN_SIMPLE_GLOB
,PATTERN_SUFFIX
,PATTERN_ADVANCED_GLOB
에 관한 설명을 참고하세요.이 속성은 필터에
scheme
속성과host
속성도 지정되어 있어야만 의미가 있습니다.pathSuffix
및pathAdvancedPattern
은 API 수준 31에서 도입되었습니다. android:fragment
android:fragmentPrefix
android:fragmentSuffix
android:fragmentPattern
android:fragmentAdvancedPattern
-
URI 프래그먼트의 매처입니다.
#
접두사는 포함하지 않습니다. 각 속성의 의미와 허용되는 패턴은 위에서 확인하세요.일반적으로 URI로 인코딩된 문자를 일치시키려면 속성 값에 원시(인코딩되지 않음) 형식을 포함합니다. 예를 들어
<data android:fragment="test!" />
은#test!
및#test%21
와 일치합니다.API 수준 35에 도입되었습니다.
android:query
android:queryPrefix
android:querySuffix
android:queryPattern
android:queryAdvancedPattern
-
URI 쿼리 매개변수 (및 선택적으로 값)의 일치 항목입니다. 예를 들어
?param=value
로 끝나는 URI를<data android:query="param=value" />
와 일치시킬 수 있습니다.?
접두사는 포함하지 않습니다. 각 속성의 의미와 허용되는 패턴은 위에서 확인하세요.일반적으로 URI로 인코딩되는 문자를 일치시키려면 속성 값에 원시(인코딩되지 않음) 형식을 포함합니다. 예를 들어
<data android:query="test!" />
은?test!
및?test%21
와 일치합니다.API 수준 35에 도입되었습니다.
android:mimeType
- MIME 미디어 유형입니다(예:
image/jpeg
또는audio/mpeg4-generic
). 하위유형은 모든 하위유형 일치를 나타내는 별표 와일드 카드(*
)일 수 있습니다.인텐트 필터는 일반적으로
android:mimeType
속성만 포함된<data>
요소를 선언합니다.참고: Android 프레임워크의 MIME 유형 일치는 정식 RFC MIME 유형과 달리 대소문자를 구분합니다. 따라서 항상 소문자를 사용하여 MIME 유형을 지정하세요.
- 도입 수준:
- API 수준 1
- 참고 항목:
<action>
<category>
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2024-12-02(UTC)
[null,null,["최종 업데이트: 2024-12-02(UTC)"],[],[]]