- :
<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" />
- contenuto in:
<intent-filter>
- 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 sia 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 reciprocamente dipendenti:
- Se
scheme
non viene specificato per il filtro per intent, tutti gli altri attributi URI vengono ignorati. - Se
host
non viene specificato per il filtro, l'attributoport
e tutti gli attributi del percorso vengono ignorati.
Tutti gli elementi
<data>
contenuti nello stesso elemento<intent-filter>
contribuiscono allo stesso filtro. Ad esempio, la seguente specifica di filtro:<intent-filter . . . > <data android:scheme="something" android:host="project.example.com" /> ... </intent-filter>
è equivalente a questo:
<intent-filter . . . > <data android:scheme="something" /> <data android:host="project.example.com" /> ... </intent-filter>
Puoi posizionare un numero illimitato di elementi
<data>
all'interno di un elemento<intent-filter>
per avere più opzioni per i dati. Nessun attributo presenta valori predefiniti.Per informazioni su come funzionano i filtri per intent, incluse le regole per la corrispondenza degli oggetti intent con i filtri, consulta la sezione Filtri per intent e intent e Filtri per intent nella panoramica del file manifest.
- Se
- :
android:scheme
- La parte dello schema di un URI. Questo è l'attributo essenziale minimo per specificare un URI. Deve essere impostato almeno un attributo
scheme
per il filtro oppure nessuno degli altri attributi URI è significativo.Uno schema viene specificato senza i due punti finali, ad esempio
http
anzichéhttp:
.Se il filtro ha un set di tipi di dati (con l'attributo
mimeType
) ma non uno schema, vengono utilizzati gli schemicontent:
efile:
.Nota: la corrispondenza dello schema nel framework Android è sensibile alle maiuscole, a differenza dell'RFC. Di conseguenza, specifica sempre gli schemi utilizzando lettere minuscole.
android:host
-
La parte host di un'autorità URI. Questo attributo è privo di significato, a meno che non venga specificato anche un attributo
scheme
per il filtro. Per trovare la corrispondenza di più sottodomini, utilizza un asterisco (*
) per trovare una corrispondenza con zero o più caratteri nell'host. Ad esempio, l'host*.google.com
corrisponde awww.google.com
,.google.com
edeveloper.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, a differenza dell'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 gli attributi
scheme
ehost
sono specificati anche per il filtro. android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
- La parte del percorso di un URI, che deve iniziare con
/
. L'attributopath
specifica un percorso completo di corrispondenza con il percorso completo in un oggettoIntent
. L'attributopathPrefix
specifica un percorso parziale che viene abbinato solo alla parte iniziale del percorso nell'oggettoIntent
.L'attributo
pathSuffix
viene abbinato esattamente alla parte finale del percorso nell'oggettoIntent
e questo attributo non deve iniziare con il carattere/
. L'attributopathPattern
specifica un percorso completo di cui viene trovata una corrispondenza con il percorso completo dell'oggettoIntent
, ma può contenere i seguenti caratteri jolly:- 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 da zero a molti caratteri.
L'attributo
pathAdvancedPattern
specifica un percorso completo che viene confrontato con il percorso completo dell'oggettoIntent
e supporta i seguenti pattern di tipo regex:-
Un punto (
.
) corrisponde a qualsiasi carattere. -
Un insieme (
[...]
) corrisponde a intervalli di caratteri. Ad esempio ,[0-5]
trova una sola cifra da 0 a 5 ma non da 6 a 9.[a-zA-Z]
trova qualsiasi lettera, indipendentemente dalle lettere maiuscole e minuscole. 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 di backtracking.Poiché
\
viene utilizzato come carattere di escape quando la stringa viene letta da XML, prima di essere analizzata come pattern, devi eseguire l'escape doppio. Ad esempio, un valore letterale*
si scrive come\\*
, mentre un\
letterale viene scritto come\\\
. È simile a ciò che scrivi quando crei la stringa nel codice Java.Per ulteriori informazioni su questi cinque tipi di pattern, consulta le descrizioni di
PATTERN_LITERAL
,PATTERN_PREFIX
,PATTERN_SIMPLE_GLOB
,PATTERN_SUFFIX
ePATTERN_ADVANCED_GLOB
nella classePatternMatcher
.Questi attributi sono significativi solo se gli attributi
scheme
ehost
sono specificati anche per il filtro.pathSuffix
epathAdvancePattern
sono stati introdotti nel livello API 31. - Un asterisco (
android:mimeType
- Un tipo multimediale MIME, come
image/jpeg
oaudio/mpeg4-generic
. Il sottotipo può essere il carattere jolly asterisco (*
) per indicare che ogni sottotipo corrisponde.È comune che un filtro per intent dichiari un elemento
<data>
che include solo l'attributoandroid:mimeType
.Nota: la corrispondenza del tipo MIME nel framework Android è sensibile alle maiuscole, a differenza dei tipi MIME RFC formali. Di conseguenza, specifica sempre i tipi MIME utilizzando lettere minuscole.
- introdotto in:
- Livello API 1
- consulta anche:
<action>
<category>
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 2023-10-18 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Mancano le informazioni di cui ho bisogno"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Troppo complicato/troppi passaggi"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsoleti"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema di traduzione"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema relativo a esempi/codice"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Altra"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile da capire"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Il problema è stato risolto"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Altra"
}]