Como posso gerenciar a associação de intenção com o Apps?

20

Quando o sistema emite uma Intenção para a qual você tem vários aplicativos que podem lidar com a intenção, uma caixa de diálogo é aberta para informar qual aplicativo você deseja usar com essa intenção.

Existe uma maneira de ver o que são essas associações e limpá-las?

Se não houver aplicativo ou interface para isso, você conhece uma API para acessar essas associações?

Edição: Quando eu disse associações, eu estava gostando das associações "late-bound". Por exemplo, quando abro um link e tenho vários navegadores, uma intenção é acionada dizendo "visualizar link" e escolho "sempre usar esse aplicativo"; o que posso fazer se, depois de algum tempo, preferir usar outro aplicativo para essa finalidade?

jhominal
fonte
11
O fato de que não se pode ver todas as intenções registrados é uma falha grave no AOSP
Redandwhite

Respostas:

13

Eu acredito que é um não para ambas as perguntas. Sim, você pode limpar as associações padrão apenas se souber a qual aplicativo está associado Intent(você ainda será solicitado na caixa de diálogo perguntando qual aplicativo gostaria de usar com o atual Intent).

Além disso, não há como limpar associações. Eles são codificados dentro de cada aplicativo, não há como removê-los.

ATUALIZAÇÃO: para responder a sua pergunta editada, vá para Configurações> Aplicativos> Gerenciar aplicativos. Encontre o aplicativo que você escolheu como aplicativo padrão para esse objetivo, clique em Limpar padrões

mlevit
fonte
4

Você pode remover algumas Intentassociações, indo para o aplicativo específico que você especificou o Intentpara no Settings-> Applications-> Manager Applications-> [Find your app]-> "Clear Defaults"botão.

Não há como visualizar todas as associações atribuídas IntentsaApps

Bryan Denny
fonte
2

Se o seu dispositivo estiver enraizado, você pode usar aplicativos como o AutoRun Manager (ARM) para listar todos os ouvintes registrados e até mesmo desabilitá-los / ativá-los à vontade (por exemplo, para impedir que um determinado aplicativo seja iniciado às vezes que você não o deseja. para). Isso corresponderia a "limpar uma associação".

Izzy
fonte
O aplicativo ao qual você vincula parece apenas ativar e desativar os receptores de transmissão , portanto não afetará diferentes atividades entre as quais você pode escolher.
Dan Hulme
Eu estava procurando exatamente pelo AutoRun Manager. Obrigado!
klor