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?
applications
jhominal
fonte
fonte
Respostas:
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 atualIntent
).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
fonte
Você pode remover algumas
Intent
associações, indo para o aplicativo específico que você especificou oIntent
para noSettings
->Applications
->Manager Applications
->[Find your app]
->"Clear Defaults"
botão.Não há como visualizar todas as associações atribuídas
Intents
aApps
fonte
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".
fonte