- sintaks:
<data android:scheme="string" android:host="string" android:port="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:mimeType="string" />
- terdapat dalam:
<intent-filter>
- deskripsi:
- Menambahkan spesifikasi data ke filter intent. Spesifikasi tersebut bisa berupa jenis data (atribut
mimeType
), URI, atau jenis data dan URI. URI ditentukan oleh atribut terpisah untuk setiap bagiannya:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>]
Atribut yang menentukan format URL ini bersifat opsional, tetapi juga bergantung satu sama lain:
- Jika
scheme
tidak ditentukan untuk filter intent, semua atribut URI lainnya akan diabaikan. - Jika
host
tidak ditentukan untuk filter, atributport
dan semua atribut jalur akan diabaikan.
Semua elemen
<data>
yang terkandung dalam elemen<intent-filter>
yang sama memberi kontribusi pada filter yang sama. Jadi, misalnya, spesifikasi filter berikut,<intent-filter . . . > <data android:scheme="something" android:host="project.example.com" /> . . . </intent-filter>
sama dengan spesifikasi filter ini:
<intent-filter . . . > <data android:scheme="something" /> <data android:host="project.example.com" /> . . . </intent-filter>
Anda dapat menempatkan sejumlah elemen
<data>
di dalam<intent-filter>
untuk memberinya beberapa opsi data. Tidak ada atributnya yang memiliki nilai default.Informasi tentang cara kerja filter intent, termasuk aturan cara objek Intent dicocokkan dengan filter, dapat ditemukan di dokumen lain, Intent dan Filter Intent. Lihat juga bagian Filter Intent di dalam ringkasan file manifes.
- Jika
- atribut:
android:scheme
- Bagian skema URI. Ini adalah atribut penting minimal untuk menentukan URI; setidaknya satu atribut
scheme
harus ditetapkan untuk filter, atau tidak ada atribut URI lainnya yang tepat.Skema ditentukan tanpa tanda titik dua (misalnya,
http
, bukanhttp:
).Jika filter memiliki sekumpulan jenis data (atribut
mimeType
) tetapi tidak ada skema, skemacontent:
danfile:
akan dianggap.Catatan: Skema yang cocok dengan framework Android peka huruf besar kecil, tidak seperti RFC. Oleh karena itu, sebaiknya selalu tentukan skema menggunakan huruf kecil.
android:host
- Bagian host dari otoritas URI. Atribut ini tidak dapat digunakan kecuali jika atribut
scheme
juga ditetapkan untuk filter. Untuk mencocokkan beberapa subdomain, gunakan tanda bintang (*
) agar cocok dengan nol atau karakter lainnya dalam host. Misalnya,*.google.com
host cocok denganwww.google.com
,.google.com
, dandeveloper.google.com
.Tanda bintang harus menjadi karakter pertama dari atribut host. Misalnya,
google.co.*
host tidak valid karena karakter pengganti tanda bintang bukan karakter pertama.Catatan: nama host yang cocok dengan framework Android peka huruf besar kecil, tidak seperti RFC formal. Oleh karena itu, Anda harus selalu menentukan nama host menggunakan huruf kecil.
android:port
- Bagian port otoritas URI. Atribut ini hanya dapat digunakan hanya jika atribut
scheme
danhost
juga ditentukan untuk filter. android:path
android:pathPrefix
android:pathPattern
- Bagian jalur URI yang harus diawali dengan tanda /. Atribut
path
menentukan jalur lengkap yang cocok dengan jalur lengkap di objek Intent. AtributpathPrefix
menentukan jalur parsial yang cocok hanya dengan bagian awal dari jalur di objek Intent. AtributpathPattern
menentukan jalur lengkap yang cocok dengan jalur lengkap di objek Intent, tetapi atribut tersebut dapat berisi karakter pengganti berikut:- Tanda bintang ('
*
') cocok dengan urutan 0 hingga kemunculan banyak karakter yang langsung mendahuluinya. - Titik diikuti dengan tanda bintang ("
.*
") cocok dengan semua urutan karakter 0 hingga banyak karakter.
Karena '
\
' digunakan sebagai karakter escape saat string dibaca dari XML (sebelum diurai sebagai pola), Anda perlu melakukan double-escape: Misalnya, '*
' akan ditulis sebagai "\\*
" dan '' literal akan ditulis sebagai "\\\\
". Tindakan ini pada dasarnya sama dengan yang harus Anda tulis jika menyusun string dalam kode Java.Untuk informasi selengkapnya tentang ketiga jenis pola ini, lihat deskripsi
PATTERN_LITERAL
,PATTERN_PREFIX
, danPATTERN_SIMPLE_GLOB
dalam classPatternMatcher
.Atribut ini hanya dapat digunakan jika atribut
scheme
danhost
juga ditentukan untuk filter. - Tanda bintang ('
android:mimeType
- Jenis media MIME, seperti
image/jpeg
atauaudio/mpeg4-generic
. Subjenis dapat berupa karakter pengganti tanda bintang (*
) untuk menunjukkan bahwa semua subjenis cocok.Sangatlah umum bagi filter intent untuk mendeklarasikan
<data>
yang hanya menyertakan atributandroid:mimeType
.Catatan: Jenis MIME yang cocok dengan framework Android peka huruf besar kecil, tidak seperti jenis RFC MIME formal. Oleh karena itu, Anda harus selalu menentukan jenis MIME menggunakan huruf kecil.
- diperkenalkan dalam:
- API Level 1
- lihat juga:
<action>
<category>
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-12-27 UTC.