O Android 11 tem uma lixeira oculta para fotos e vídeos descartados

No Android 11, os aplicativos podem sugerir mover fotos e vídeos excluídos para uma lixeira oculta. Isso mantém os itens na lixeira no dispositivo temporariamente.

O Google está tentando controlar a situação de armazenamento fora de controle de aplicativos com “Scoped Storage”. O armazenamento com escopo foi introduzido no Android 10 mas desde então foi alterado várias vezes desde sua estreia devido à forma como afeta dramaticamente o acesso ao armazenamento para muitos Android formulários. O Google está aplicando o armazenamento com escopo para aplicativos direcionados ao nível 30 da API, que é o nível de API mais recente que coincide com o Android 11.

Em vez de tentar explique o armazenamento com escopo novamente, aqui está um gráfico do Google "Tudo sobre privacidade no Android 11" palestra que resume como o armazenamento com escopo afetará o acesso ao armazenamento para aplicativos no Android 11.

Fonte: Google

Uma das mudanças mais interessantes no acesso ao armazenamento que passou despercebida até agora é a introdução de um novo mecanismo de “descarte”. Este recurso é detalhado no Google "

Acesso ao armazenamento com Android 11" vídeo. Em essência, os aplicativos que usam o API MediaStore pode descartar um arquivo em vez de excluí-lo para dar ao usuário a chance de recuperá-lo mais tarde. O Google compara esse recurso à Lixeira dos PCs, exceto que a lixeira do Android está oculta por padrão. O Google afirma que aplicativos com acesso para edição de arquivos na lixeira ou que solicitam o consentimento do usuário podem exibir itens da lixeira. Os itens que são descartados são excluídos automaticamente pelo Android após 30 dias.

O Android 11 também exige que os aplicativos obtenham o consentimento do usuário antes de modificar arquivos de mídia que não pertencem ao aplicativo. Outro novo recurso adicionado são os “favoritos”, que permitem que aplicativos de mídia adicionem um arquivo “favorito” status para itens de mídia designados para que outros aplicativos de mídia saibam que o usuário vê esses itens como importante. Por exemplo, se o usuário marcar um item com estrela em um aplicativo de galeria, outros aplicativos de mídia poderão ver que esse item foi adicionado aos favoritos.

Embora a palestra do Google não mostre um exemplo do novo conceito de lixo do MediaStore, a API está disponível desde o primeiro Android 11 Developer Preview. O desenvolvedor Yuriy Mysochenko publicou um artigo no Médio em fevereiro, abordamos essa nova API e ele demonstrou a API em um aplicativo de exemplo, conforme mostrado abaixo:

Nova API MediaStore Trash no Android 11. Créditos: Yuriy Mysochenko.

Nesta demonstração, o aplicativo perguntou ao usuário se ele queria mover uma foto para a lixeira, o que excluiria temporariamente a foto da galeria. Após 7 dias, a foto será excluída permanentemente do armazenamento. A Googler Roxanna Aliabadi menciona que o sistema operacional armazena itens na lixeira por 30 dias, então o limite de armazenamento de 7 dias provavelmente aumentou desde o primeiro Developer Preview.

Os desenvolvedores interessados ​​em implementar esta API podem conferir a documentação agora mesmo no site Android Developers. Os aplicativos de mídia podem criar um PendingIntent chamado criarTrashRequest para solicitar que o usuário jogue um item na lixeira, o que então adiciona o sinalizador É_TRASHED indicando que um item de mídia foi descartado. Os itens da lixeira são retidos pelo sistema operacional até DATA_EXPIRES, após o qual eles serão excluídos permanentemente do armazenamento. Os aplicativos de mídia que consultam o MediaStore devem consultar explicitamente os itens descartados usando QUERY_ARG_MATCH_TRASHED já que os itens descartados são filtrados das operações por padrão.

Você pode (e deve) ouvir esta palestra completa sobre Scoped Storage se seu aplicativo lidar com acesso ao armazenamento: