- sintaxe:
<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" />
- contido em:
<intent-filter>
- descrição:
- Adiciona uma especificação de dados a um filtro de intent. A especificação pode
ser apenas um tipo de dado (o atributo
mimeType
), apenas um URI ou um tipo de dado e um URI. Um URI é especificado por atributos diferentes para cada uma das partes:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]
Os atributos que especificam o formato de URL são opcionais, mas também mutuamente dependentes:
- Se nenhum
scheme
for especificado para o filtro de intent, todos os outros atributos de URI vão ser ignorados. - Se nenhum
host
for especificado para o filtro, o atributoport
e todos os atributos de caminho vão ser ignorados.
Todos os elementos
<data>
contidos no mesmo elemento<intent-filter>
contribuem para o mesmo filtro. Por exemplo, a especificação de filtro abaixo,<intent-filter . . . > <data android:scheme="something" android:host="project.example.com" /> . . . </intent-filter>
é equivalente a:
<intent-filter . . . > <data android:scheme="something" /> <data android:host="project.example.com" /> . . . </intent-filter>
Você pode colocar quantos elementos
<data>
quiser dentro de um<intent-filter>
para dar várias opções de dados a ele. Nenhum dos atributos tem valores padrão.As informações sobre o funcionamento dos filtros de intent, incluindo as regras de correspondência dos objetos de intent com filtros, podem ser encontradas no documento Intents e filtros de intent. Consulte também a seção Filtros de intent na visão geral do arquivo de manifesto.
- Se nenhum
- atributos:
android:scheme
- Parte do esquema de um URI. Esse é o atributo essencial mínimo para
especificar um URI. Pelo menos um atributo
scheme
precisa ser definido para o filtro, ou nenhum dos outros atributos de URI vai ser significativo.Um esquema é especificado sem os dois-pontos à direita (por exemplo,
http
, em vez dehttp:
).Se o filtro tiver um tipo de dados definido (atributo
mimeType
) e nenhum esquema, os esquemascontent:
efile:
vão ser usados.Observação: a correspondência de esquemas no framework do Android diferencia maiúsculas de minúsculas, ao contrário do RFC. Como resultado, sempre é necessário especificar esquemas usando letras minúsculas.
android:host
-
A parte do host de uma autoridade de URI. Esse atributo é insignificante,
a menos que um atributo
scheme
também seja especificado para o filtro. Use um asterisco (*
) para corresponder a vários subdomínios e de zero a mais caracteres no host. Por exemplo, o host*.google.com
corresponde awww.google.com
,.google.com
edeveloper.google.com
.O asterisco precisa ser o primeiro caractere do atributo do host. Por exemplo, o host
google.co.*
é inválido porque o caractere curinga de asterisco não é o primeiro caractere.Observação: a correspondência do nome do host no framework do Android diferencia maiúsculas de minúsculas, ao contrário do RFC formal. Como resultado, sempre é necessário especificar nomes de host usando letras minúsculas.
android:port
- A parte da porta de uma autoridade de URI. Esse atributo só é significativo
se os atributos
scheme
ehost
também forem especificados para o filtro. android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
- A parte do caminho de um URI que precisa começar com uma /.
O atributo
path
especifica um caminho completo que corresponde ao caminho de um objeto de intent. O atributopathPrefix
especifica um caminho parcial que é comparado somente com a parte inicial do caminho no objeto de intent. O atributopathSuffix
é comparado com a parte final do caminho no objeto de intent. Ele não precisa começar com o caractere "/". O atributopathPattern
especifica um caminho completo que é comparado ao caminho completo no objeto de intent e pode conter os caracteres curinga abaixo:- Um asterisco ("
*
") compara uma sequência de 0 a muitas ocorrências do caractere imediatamente anterior. - Um ponto seguido por um asterisco ("
.*
") corresponde a uma sequência de 0 a muitos caracteres.
O atributo
pathAdvancedPattern
especifica um caminho completo, que corresponde ao caminho completo do objeto da intent e oferece suporte a estes padrões parecidos com o regex:-
Um ponto ("
.
") corresponde a qualquer caractere. -
Um conjunto ("
[...]
") corresponde a intervalos de caracteres. Por exemplo,[0-5]
corresponde a um único dígito de 0 a 5, mas não de 6 a 9. Da mesma forma,[a-zA-Z]
corresponde a qualquer letra, independente se ela é maiúscula ou minúscula. Os conjuntos também oferecem suporte ao modificador de negação^
. -
O modificador de estrela ("
*
") corresponde ao padrão anterior zero ou mais vezes. -
O modificador de adição ("
+
") corresponde ao padrão anterior uma ou mais vezes. -
O modificador de intervalo ("'
{...}
") pode ser usado para especificar o número de vezes que ocorre uma correspondência com um padrão.
pathAdvancedPattern
é uma implementação de avaliação simples em que a correspondência com o padrão é realizada em tempo real e sem suporte a retrocessos.Como "
\
" é usado como um caractere de escape quando a string é lida no XML, antes de ser analisada como padrão, você vai precisar de um escape duplo. Por exemplo, um literal "*
" seria escrito como "\\*
", e um "\
" como "\\\\
". Isso é basicamente igual ao que você precisaria escrever ao construir a string em código Java.Para mais informações sobre esses cinco tipos de padrões, consulte as descrições de
PATTERN_LITERAL
,PATTERN_PREFIX
,PATTERN_SIMPLE_GLOB
,PATTERN_SUFFIX
, ePATTERN_ADVANCED_GLOB
na classePatternMatcher
.Esses atributos são significativos somente se os atributos
scheme
ehost
também forem especificados para o filtro.O atributo
pathSuffix
foi introduzido no nível 31 da API.O atributo
pathAdvancedPattern
foi introduzido no nível 26 da API. - Um asterisco ("
android:mimeType
- Um tipo de mídia MIME, como
image/jpeg
ouaudio/mpeg4-generic
. O subtipo pode ser o asterisco curinga (*
) para indicar que qualquer subtipo é correspondente.É comum que um filtro de intent declare um elemento
<data>
que inclua somente o atributoandroid:mimeType
.Observação: a correspondência de tipo MIME no framework do Android diferencia maiúsculas de minúsculas, ao contrário dos tipos RFC MIME formais. Como resultado, você sempre precisa especificar tipos MIME usando letras minúsculas.
- introduzido em:
- Nível 1 da API
- veja também:
<action>
<category>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2022-12-22 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Não contém as informações de que eu preciso"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Muito complicado / etapas demais"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Desatualizado"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema na tradução"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema com as amostras / o código"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Outro"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Fácil de entender"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Meu problema foi resolvido"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Outro"
}]