Como definir o manipulador de ações padrão permanentemente?

10

Eu defini aplicativos padrão para muitas ações, como enviar email, abrir PDFs, abrir páginas da Web etc. Mas, quando instalo ou atualizo um aplicativo que possa lidar com essa ação, esse padrão é limpo (mesmo que o aplicativo padrão seja atualizado).

Ninguém tem problema com isso porque pode marcar a caixa de seleção padrão na próxima ação. Meu problema: uso o Tasker para automatizar uma grande quantidade de ações. E, devido a essas remoções padrão (após a atualização automática), minhas tarefas ficam presas na Choose Apppop-up. As tarefas precisam ser concluídas a tempo. Portanto, enfrento muitos problemas do mundo real devido a isso.

O que devo fazer para preservar os padrões após a atualização automática do aplicativo. Por favor, não responda You can'tou Turn off Automatic Update.

Android Quesito
fonte
Este é um comentário para que eu possa dizer: Você não pode, desative a atualização automática. Se você é um desenvolvedor do que, hipoteticamente, pode escrever um aplicativo que será notificado quando um aplicativo for atualizado e poderá definir o manipulador padrão (acho que você precisará de raiz para a última parte.) Talvez o desenvolvedor do Tasker tenha alguma ideia para isso?
RR
Receio que Richard esteja aqui. Acabei de verificar com a API Tasker na esperança de que ela forneça sua própria solução (como sou afetado pelo mesmo problema, mas não tão difícil). Embora o Tasker possa reagir ao "Pacote atualizado" (e até conhecer qual pacote), não há nenhuma ação para lidar com "aplicativos padrão". E não conheço nenhuma configuração do sistema como "não redefinir o aplicativo padrão na atualização". Talvez algum programador desenvolve uma ferramenta pequena para cuidar de "padrões de aplicativos forçados", ouvindo a intenção package_updated, e simplesmente define todos os padrões definidos de novo ...
Izzy

Respostas:

6

AFAIK, os padrões no Android não são preservados se os aplicativos que usam a intenção forem alterados.

Gambiarra:

Use intent para iniciar o aplicativo ou sua tela de atividades.

A intenção é comparativamente confiável, embora possa ser alterada quando o aplicativo for atualizado.

Tome como exemplo o envio de e-mail

  1. Instale o Intent Intercept (Google Play)

  2. Limpar os padrões do cliente de email

  3. Escolha "Intent Intercept" no menu Compartilhar ao enviar e-mail

  4. Copiar detalhes da intenção da atividade de aplicativo desejada

  5. Abra o Tasker para "Create Task": Misc> Send Intent

  6. Edite os parâmetros (normalmente preencha a Ação e Extra é suficiente)

Ref: http://tasker.dinglisch.net/userguide/en/intents.html

PS Algumas empresas famosas até fornecem os detalhes de intenção no site do desenvolvedor, como o Evernote.

Ivan Chau
fonte
11
Esse aplicativo é de código aberto, também disponível aqui: f-droid.org/repository/browse/…
NoBugs