O Android 10 permite que os desenvolvedores perguntem aos usuários se desejam reter os dados do aplicativo antes de desinstalar

O Android 10 introduz um sinalizador de manifesto para desenvolvedores de aplicativos que, quando ativado, permite ao usuário reter dados do aplicativo ao desinstalá-lo. Continue lendo para saber mais!

Android 10 é a atualização mais recente do Google para Android, trazendo consigo um algumas melhorias no sistema operacional maduro. A maioria das mudanças e novos recursos da atualização mais recente são obtidos destacado pelo próprio Google durante o Google I/O ou são encontrado em breve depois lançamento de fonte pública. Mas algumas mudanças notáveis ​​tendem a passar despercebidas, aparecendo meses depois, quando alguém acidentalmente tropeça nelas. Isso é o que está acontecendo neste caso porque, ao que parece, o Android 10 permite que os desenvolvedores perguntem aos usuários se desejam reter os dados do aplicativo antes que o aplicativo seja desinstalado.

Um recente relatório de Polícia Android destacou essa funcionalidade. Aplicativos como Whatsapp e Gravador de voz ASR começaram a oferecer aos usuários do Android 10 uma opção para reter os dados de um aplicativo que está prestes a ser desinstalado.

Marcar a caixa mostrada acima mantém os dados do aplicativo no telefone, apesar de o aplicativo ser desinstalado. Ao reinstalar o aplicativo, você retornará ao mesmo estado do aplicativo, como se nunca o tivesse desinstalado.

Mishaal investigou um pouco o que está acontecendo nos bastidores. Para entender isso, você precisa primeiro entender como os aplicativos no Android podem armazenar arquivos no seu dispositivo, e existem três locais principais para armazenar arquivos:

  • Diretório específico do aplicativo no armazenamento interno (inacessível ao usuário sem root): essas pastas estão localizadas em /data/data e não são acessíveis a outros aplicativos ou quando o usuário normalmente conecta seu telefone a um PC. Os aplicativos não precisam de permissão para gravar arquivos em seu próprio diretório específico de aplicativo neste local.
  • Diretório específico do aplicativo no armazenamento externo (acessível ao usuário): essas pastas estão localizadas em /data/media/{user}/Android/data e são acessíveis a outros aplicativos com a permissão correta e ao usuário quando ele normalmente conecta o telefone a um computador. Os aplicativos não precisam de permissão para gravar arquivos em seu próprio diretório específico neste local, mas precisam de permissão para acessar dados de outros aplicativos, conforme mencionado anteriormente.
  • Qualquer diretório no armazenamento externo (acessível ao usuário): os aplicativos podem solicitar permissão para acessar o armazenamento externo, permitindo que o aplicativo crie qualquer pasta necessária no armazenamento externo para armazenar o que deseja armazenar aqui.

Estendendo o exemplo do WhatsApp, o diretório específico do aplicativo WhatsApp no ​​armazenamento interno reside em /data/data/com.whatsapp; seu diretório específico do aplicativo no armazenamento externo reside em /data/media/{user}/Android/data/com.whatsapp; e seu diretório personalizado no armazenamento externo reside em /data/media/{user}/WhatsApp.

Antes do Android 10 e antes dos desenvolvedores permitirem isso para seus aplicativos, quando um usuário desinstala um aplicativo, seus diretórios específicos do aplicativo em ambos internos (/data/data) e externo (/data/media) são excluídos por padrão. Os diretórios extras no armazenamento externo não são excluídos e você precisa se livrar deles manualmente ou usar um aplicativo como Empregada SD fazer isso por você.

Com o Android 10, os desenvolvedores de aplicativos podem adicionar um sinalizador especial ao manifesto chamado "hasFragileUserData"que permite perguntar ao usuário se ele deseja reter os dados do aplicativo após a desinstalação do aplicativo, que é o que você vê acima na captura de tela. Quando você desinstala um aplicativo com a caixa de seleção marcada para reter os dados do aplicativo, o Android retém e não exclui os diretórios específicos do aplicativo no armazenamento interno e externo. Confirmamos isso verificando os diretórios de aplicativos que não adicionaram o sinalizador de Manifesto e aqueles como o WhatsApp que adicionaram o sinalizador de Manifesto.


Superficialmente, fazer sentido ter essa opção, pois os usuários podem desinstalar aplicativos temporariamente e ainda voltar para seus estado anterior após a reinstalação, o que deve evitar alguns problemas de backup e restauração do aplicativo no mesmo dispositivo. Mas, tenha em mente que /data/data não é acessível sem root, portanto, você, como usuário, não pode usar esse processo para backup e restauração sem root entre dispositivos. Também não é possível que os usuários excluam os arquivos deixados em /data/data sem raiz; portanto, se quiser limpar os arquivos no futuro, você precisará reinstalar o aplicativo e desinstalá-lo sem marcar a caixa de seleção. Use esta opção para muitos aplicativos e você provavelmente esquecerá quais aplicativos você, como usuário, escolheu. Como isso é opcional para os desenvolvedores incluirem e, em seguida, opcional para os usuários escolherem, sentimos que esta é uma mudança geral positiva que dá mais poder ao usuário final.