O Android 14 tem um problema de papel de parede

Se você gosta de usar aplicativos de terceiros para personalizar seu papel de parede, poderá ficar em choque se estiver no Android 13 ou mais recente.

O Google sempre fingiu estar comprometido com a privacidade e, nos últimos lançamentos do Android, seria difícil argumentar o contrário. A empresa tem claramente tentado melhorar a segurança de sua plataforma e, ao mesmo tempo, adicionar novos recursos em Andróide 13 e Andróide 14, mas nem todas as mudanças foram boas. Na verdade, uma dessas mudanças que a empresa está apregoando (discretamente) como uma melhoria de segurança parece ter foi implementado por acidente e faz com que aplicativos de terceiros não consigam acessar seu papel de parede.

Em um Tópico Mastodon compartilhado pelo desenvolvedor Android Zachary Wander, ele descreve como a divisão da permissão READ_EXTERNAL_STORAGE em três permissões separadas interrompe os aplicativos que interagem com o papel de parede do usuário. Essas três permissões são para acesso a imagens, vídeos e arquivos de áudio, o que sem dúvida é uma boa mudança. No entanto, as APIs de papel de parede (incluindo a recuperação do papel de parede do usuário)

também anteriormente exigia essa permissão. Como eles também não obtiveram uma nova permissão e o Android 13 não oferece mais suporte à concessão da permissão READ_EXTERNAL_STORAGE, não há alternativa.

Esse comportamento foi relatado como um bug no ano passado, antes do lançamento do Android 13, e o Google não respondeu (além de um pedido inicial de mais informações) por vários meses. Em maio de este ano, um Googler respondeu dizendo que não seria corrigido, acrescentando o seguinte:

“Discutimos o comportamento com nossa equipe de produto e engenharia e eles apoiaram a manutenção da API acessível apenas para aplicativos de sistema privilegiados.”

A razão pela qual isso é importante é multifacetada. Se você usa seu telefone apenas com o papel de parede padrão (ou qualquer outro papel de parede padrão) e não se aprofunda muito na personalização, provavelmente está bem. No entanto, quaisquer aplicativos que possam gerenciar seu papel de parede para você vai se machucar com isso. LWP+ por exemplo, requer acesso para fazer backup, importar e exportar seu papel de parede, mas não será possível quando for necessário para direcionar versões mais recentes do Android. Este aplicativo também é usado para definindo cores personalizadas do Material You, mas você não poderá fazer isso no futuro, a menos que isso mude. Cronogramas publicados atualmente pelo Google estado que os aplicativos precisarão ser direcionados ao Android 13 até o final de agosto.

Pior ainda, Wander relata que teve problemas com lançadores de terceiros que não conseguiam mostrar seu papel de parede personalizado. Embora não tenhamos conseguido replicar exatamente esse comportamento, testamos vários lançadores de terceiros em a última versão beta do Android 14 e observou que um iniciador, Lynx Launcher, encontrou problemas relacionados à permissão problemas. Ocorreu um erro dizendo que não foi possível obter todas as permissões necessárias, que não pudemos corrigir, e não foi possível definir um papel de parede personalizado no Google Fotos.

Entramos em contato com o Nova Launcher para comentar e fomos informados de que, embora eles só tivessem visto problemas relacionados à permissão surgindo em dispositivos relacionados à Samsung até agora, um um porta-voz da empresa me disse que "É lamentável ver que agora eles marcaram isso como comportamento pretendido". Um desses problemas de permissão em um dispositivo Samsung que me foi mostrado foi que ao definir um papel de parede no seletor de papel de parede do Nova, um erro que dizia "Permissão negada" apareceu e o papel de parede não foi definir. Esses relatórios vêm apenas de dispositivos Samsung e a equipe não conseguiu replicá-los em um Google Pixel ainda.

Para ser claro, esta API nunca foi acessível apenas a aplicativos de sistema privilegiados e foi resultado do que parece ser um descuido na divisão da permissão READ_EXTERNAL_STORAGE que levou a esta situação no primeiro lugar. Na verdade, essa permissão ainda existe no Android 13, e o controlador de permissão simplesmente a nega a qualquer aplicativo que a solicite, se esse aplicativo for direcionado ao Android 13. Android Controlador de permissão é um Linha principal do projeto módulo, então o Google poderia em teoria, retificará esse comportamento em dispositivos Android 13. Da forma como está, o Google em breve exigirá que todos os aplicativos direcionados ao Android 13 ou mais recente sejam atualizados, o que significa que esses aplicativos não poderão mais acessar seu papel de parede.

A própria documentação do Google sobre o Gerenciador de papel de parede a aula é igualmente irreverente. Afirma que "A partir de T, não é mais possível acessar diretamente o papel de parede, em vez disso o padrão o papel de parede do sistema é retornado", e a partir da versão U (Android 15), certos métodos de classe não devem ser usados ​​em todos.

Se fosse uma melhoria de segurança, certamente seria estranho que a empresa não tenha chamado a atenção para tudo isso, e é difícil ver exatamente como seria uma melhoria em primeiro lugar. Entramos em contato com o Google e atualizaremos este artigo se recebermos resposta.