Qual é o propósito de usar android.intent.category.DEFAULT
no campo Categoria dos Filtros de Intenção?
android
intentfilter
Pravy
fonte
fonte
Respostas:
As categorias são usadas para intents implícitos. Portanto, se sua atividade pode ser iniciada por um intent implícito quando nenhuma outra categoria específica é atribuída à atividade, o filtro de intent da atividade deve incluir esta categoria. (mesmo se você tiver outras categorias no filtro Intent). Se você tiver certeza de que sua atividade deve ser chamada com qualquer outra categoria, não use o Padrão.
Definir a categoria como padrão não significa que esta atividade será usada por padrão quando seu aplicativo for iniciado. A Activity apenas diz ao sistema que " Oh, eu poderia ser iniciado, mesmo se a categoria do Intent inicial estiver definida como Nada ! "
fonte
Esta categoria é usada principalmente para intenções implícitas. Se sua atividade deseja ser iniciada por uma intenção implícita, deve incluir este catetor em seu filtro.
Acho que o termo "padrão" deve ser entendido como " candidato padrão ". Se a ação em uma parte dos dados for resolvida em várias atividades, o Android apresentará todos os candidatos ao usuário e o usuário poderá selecionar seu padrão preferido.
Referência:
http://developer.android.com/guide/components/intents-filters.html
Extraia dessa página:
fonte
Na verdade, é para garantir que suas outras atividades possam ser chamadas quando o aplicativo estiver em execução. LAUNCHER fará com que a atividade que o contém seja a primeira atividade a ser iniciada. Para usar as intenções para chegar às outras atividades, elas devem ser listadas como atividades "reais" colocando DEFAULT. Isso é pelo que eu sei, então não me cite se estiver errado.
fonte
As atividades precisarão oferecer suporte a CATEGORY_DEFAULT para que possam ser encontradas por Context.startActivity ().
Para receber intents implícitos, você deve incluir a categoria CATEGORY_DEFAULT no filtro de intent. Os métodos startActivity () e startActivityForResult () tratam todas as intents como se declarassem a categoria CATEGORY_DEFAULT. Se não o declararmos em nosso filtro de intent, nenhuma intent implícita resolverá nossa atividade.
fonte
É usado para declarar alguma operação como ação padrão (como seu nome sugere). Vamos considerar que temos um aplicativo de bloco de notas (referindo-se ao exemplo de bloco de notas do Android). A primeira página do aplicativo consiste em uma lista de todos os arquivos do bloco de notas. Quando um arquivo de bloco de notas é selecionado, uma das operações como editar nota, excluir nota, etc. pode ser realizada. Mas eu quero fazer a edição como minha ação padrão, o que significa que quando eu pressiono o botão central do meu teclado, a janela de edição deve ser aberta.
fonte
https://developer.android.com/guide/components/intents-filters
fonte
categoria:
Corresponde a qualquer Intent implícito. Esta categoria deve ser incluída para que sua Atividade receba qualquer Intent implícito.
https://codelabs.developers.google.com/codelabs/android-training-activity-with-implicit-intent/index.html?index=..%2F..%2Fandroid-training#6
fonte