- sintassi:
- Se il tag dati è figlio diretto di un
<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" />
Se il tag dati è figlio diretto di un<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" />
- contenuto in:
-
<intent-filter><uri-relative-filter-group> - description:
- Aggiunge una specifica dei dati a un filtro per intent. La specifica è
un tipo di dati, che utilizza l'attributo
mimeType, un URI o sia un tipo di dati che un URI. Un URI è specificato da attributi separati per ciascuna delle sue parti:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]Questi attributi che specificano il formato URI sono facoltativi, ma anche interdipendenti:
- Se un
schemenon è specificato per il filtro per intent, tutti gli altri attributi URI vengono ignorati. - Se non viene specificato un
hostper il filtro, l'attributoporte tutti gli attributi di percorso vengono ignorati.
Tutti gli elementi
<data>contenuti nello stesso elemento<intent-filter>contribuiscono allo stesso filtro. Ad esempio, la seguente specifica del filtro:<intent-filter . . . > <data android:scheme="something" android:host="project1.example.com" /> <data android:scheme="something-else" android:host="project2.example.com" android:path="/page1" /> ... </intent-filter>
è equivalente a questo:
<intent-filter . . . > <data android:scheme="something" /> <data android:scheme="something-else" /> <data android:host="project1.example.com" /> <data android:host="project2.example.com" /> <data android:path="/page1" /> ... </intent-filter>
Puoi inserire un numero qualsiasi di elementi
<data>all'interno di un<intent-filter>per assegnargli più opzioni di dati. Nessuno dei suoi attributi ha valori predefiniti.Per informazioni su come funzionano i filtri per intent, incluse le regole per la corrispondenza degli oggetti intent con i filtri, consulta Intent e filtri per intent e la sezione Filtri per intent nella panoramica del file manifest.
- Se un
- attributi:
android:scheme- La parte dello schema di un URI. Questo è l'attributo essenziale minimo per
specificare un URI. Per il filtro deve essere impostato almeno un attributo
scheme, altrimenti nessuno degli altri attributi URI è significativo.Uno schema viene specificato senza i due punti finali, ad esempio
httpanzichéhttp:.Se il filtro ha un tipo di dati impostato (utilizzando l'attributo
mimeType) ma nessuno schema, vengono presupposti gli schemicontent:efile:.Nota: la corrispondenza degli schemi nel framework Android è sensibile alle maiuscole e minuscole, a differenza della RFC. Di conseguenza, specifica sempre gli schemi utilizzando lettere minuscole.
android:host-
La parte host di un'autorità URI. Questo attributo non ha significato
a meno che non venga specificato
anche un attributo
schemeper il filtro. Per trovare la corrispondenza di più sottodomini, utilizza un asterisco (*) per trovare la corrispondenza di zero o più caratteri nell'host. Ad esempio, l'host*.google.comcorrisponde awww.google.com,.google.comedeveloper.google.com.L'asterisco deve essere il primo carattere dell'attributo host. Ad esempio, l'host
google.co.*non è valido perché il carattere jolly asterisco non è il primo carattere.Nota: la corrispondenza del nome host nel framework Android è sensibile alle maiuscole e minuscole, a differenza della RFC formale. Di conseguenza, specifica sempre i nomi host utilizzando lettere minuscole.
android:port- La parte della porta di un'autorità URI. Questo attributo è significativo solo se per il filtro vengono specificati anche gli attributi
schemeehost. android:pathandroid:pathPrefixandroid:pathSuffixandroid:pathPatternandroid:pathAdvancedPattern- La parte del percorso di un URI, che deve iniziare con
/. L'attributopathspecifica un percorso completo che viene confrontato con il percorso completo di un oggettoIntent. L'attributopathPrefixspecifica un percorso parziale che viene confrontato solo con la parte iniziale del percorso nell'oggettoIntent.L'attributo
pathSuffixcorrisponde esattamente alla parte finale del percorso nell'oggettoIntente non deve iniziare con il carattere/.L'attributo
pathPatternspecifica un percorso completo che viene confrontato con il percorso completo nell'oggettoIntent, ma può contenere i seguenti caratteri jolly:- Un punto (
.) corrisponde a qualsiasi carattere. -
Un asterisco (
*) corrisponde a una sequenza da zero a molte occorrenze del carattere immediatamente precedente. -
Un punto seguito da un asterisco (
.*) corrisponde a qualsiasi sequenza di da zero a molti caratteri.
L'attributo
pathAdvancedPatternspecifica un percorso completo, che viene confrontato con il percorso completo dell'oggettoIntente supporta i seguenti pattern simili alle espressioni regolari:-
Un punto (
.) corrisponde a qualsiasi carattere. -
Un insieme (
[...]) corrisponde a intervalli di caratteri. Ad esempio,[0-5]corrisponde a una singola cifra da 0 a 5, ma non da 6 a 9.[a-zA-Z]corrisponde a qualsiasi lettera, indipendentemente dalle maiuscole. I set supportano anche il modificatore "not"^. -
Il modificatore asterisco (
*) corrisponde al pattern precedente zero o più volte. -
Il modificatore più (
+) corrisponde al pattern precedente una o più volte. -
Il modificatore di intervallo (
{...}) specifica il numero di volte in cui un pattern può corrispondere.
pathAdvancedPatternè un'implementazione di valutazione in cui la corrispondenza viene eseguita in tempo reale rispetto al pattern senza supporto del backtracking.Poiché
\viene utilizzato come carattere di escape quando la stringa viene letta da XML, prima che venga analizzata come pattern, devi eseguire il doppio escape. Ad esempio, un valore letterale*viene scritto come\\*e un valore letterale\viene scritto come\\\\. È simile a ciò che scrivi quando costruisci la stringa nel codice Java.Per saperne di più su questi cinque tipi di pattern, consulta le descrizioni di
PATTERN_LITERAL,PATTERN_PREFIX,PATTERN_SIMPLE_GLOB,PATTERN_SUFFIXePATTERN_ADVANCED_GLOBnella classePatternMatcher.Questi attributi sono significativi solo se per il filtro vengono specificati anche gli attributi
schemeehost.pathSuffixepathAdvancedPatternsono stati introdotti nel livello API 31. - Un punto (
android:fragmentandroid:fragmentPrefixandroid:fragmentSuffixandroid:fragmentPatternandroid:fragmentAdvancedPattern-
Un matcher per un frammento di URI. Non includere il prefisso
#. Vedi sopra il significato e i pattern consentiti in ogni attributo.Per trovare corrispondenze con i caratteri che di solito sono codificati come URI, includi la forma non codificata nel valore dell'attributo. Ad esempio,
<data android:fragment="test!" />corrisponde a#test!e#test%21.Introdotto nel livello API 35.
android:queryandroid:queryPrefixandroid:querySuffixandroid:queryPatternandroid:queryAdvancedPattern-
Un matcher per un parametro di query URI (e, facoltativamente, un valore). Ad esempio, puoi abbinare gli URI che terminano con
?param=valuea<data android:query="param=value" />. Non includere il prefisso?. Vedi sopra il significato e i pattern consentiti in ogni attributo.Per trovare corrispondenze con i caratteri codificati in URI, includi la forma non codificata nel valore dell'attributo. Ad esempio,
<data android:query="test!" />corrisponde a?test!e?test%21.Introdotto nel livello API 35.
android:mimeType- Un tipo di media MIME, ad esempio
image/jpegoaudio/mpeg4-generic. Il sottotipo può essere il carattere jolly asterisco (*) per indicare che qualsiasi sottotipo corrisponde.È comune che un filtro per intent dichiari un elemento
<data>che include solo l'attributoandroid:mimeType.Nota: la corrispondenza dei tipi MIME nel framework Android è sensibile alle maiuscole e minuscole, a differenza dei tipi MIME RFC formali. Di conseguenza, specifica sempre i tipi MIME utilizzando lettere minuscole.
- introdotto in:
- Livello API 1
- Vedi anche:
<action><category>
<dati>
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2026-02-23 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2026-02-23 UTC."],[],[]]