Casa > O > O Google Está Bloqueando Aplicativos Android De Escrever Em Cartões Sd?

O Google está bloqueando aplicativos Android de escrever em cartões SD?

Esta é uma grande questão, e um tópico por vezes muito mal compreendido na arena do Android. Para responder à sua pergunta, olhando para a progressão do código aberto do Google&apos para o Android num contexto histórico, a resposta é sim. Mas, se isto foi intencional ou não, é uma questão de perspectiva.

Let's começa com um pouco de terminologia. Desde o surgimento do Android, quase todo tipo de armazenamento tem sido considerado "armazenamento externo", mesmo a memória flash não removível que vem em todos os dispositivos. Para distinguir, a memória flash não removível é chamada de "armazenamento primário", enquanto um cartão micro SD removível é chamado de "armazenamento secundário". Nas primeiras versões do Android, um aplicativo precisava apenas de permissão para WRITE_EXTERNAL_STORAGE para poder acessar totalmente o armazenamento primário e secundário.

Em março de 2011, uma modificação na codificação do Android foi feita que mudou drasticamente a forma como os meios de armazenamento secundário (cartões SD externos) eram montados pelo sistema operacional Android. Especificamente, o commit leu desta forma: "Montar armazenamento externo secundário gravável por AID_MEDIA_RW em vez de AID_SDCARD_RW." Isso significava que a mídia agora teria que pertencer ao grupo "media_rw" para modificar o conteúdo do cartão SD. Como resultado, uma nova permissão, chamada WRITE_MEDIA_STORAGE, foi adicionada ao código fonte. Basicamente, WRITE_MEDIA_STORAGE substituiu o WRITE_EXTERNAL_STORAGE original. No entanto, e talvez sem o conhecimento do Google, havia um grande senão: não era possível para as aplicações regulares solicitar esta permissão. A nova permissão tinha um nível de proteção de storageOrSignature, o que significa que apenas aplicativos de sistema podiam solicitar a permissão. Assim, agora, a permissão WRITE_EXTERNAL_STORAGE só podia dar permissão aos aplicativos para escrever no armazenamento primário, mas não no armazenamento secundário (cartões micro SD externos). A permissão do WRITE_MEDIA_STORAGE podia gravar no cartão micro SD externo, mas os aplicativos regulares do usuário não podiam solicitar a permissão. Esta mudança realmente ocorreu no Android 3.2 Honeycomb, mas devido à logística do hardware e dos meios de armazenamento naquela época, mal foi notada.

Iniciando por volta do tempo do Android 4.4 4 4 KitKat, e mesmo um pouco antes, a implementação do sistema de arquivos userspace FUSE, em conjunto com as mudanças no código fonte aberto, resolveu este problema. No entanto, até hoje, mesmo com o Android 8.x.x Oreo, aplicativos de terceiros devem obter explicitamente a permissão do usuário's para armazenamento primário e secundário antes que o aplicativo possa alterar qualquer meio de armazenamento de qualquer forma. E, é claro, os novos conceitos de armazenamento adotável têm aliviado os problemas nesse sentido.

De Kayne

Qual é o recurso que nos impede de ter dados ilimitados de 4G? :: Tenho mais espaço em um cartão SD, mas não consigo instalar uma aplicação da Loja do Google Play para o cartão SD. Porquê?