Índice:
Privacidade e segurança serão o foco principal do Android Q. Isso é uma coisa boa para todo e qualquer usuário, especialmente quando muitas das alterações não exigem nenhuma ação de nossa parte. Os especialistas em segurança preocupados com a segurança em nossos telefones significam que podemos continuar a usá-los normalmente e todos vencem, exceto um possível hacker ou fraudador. Mas uma grande mudança em um recurso fundamental do Android - compartilhar seus arquivos entre qualquer aplicativo - está recebendo uma grande mudança que levará a muitas reações adversas dos desenvolvedores de aplicativos: armazenamento com escopo.
Como o armazenamento com escopo funciona
Ao mesmo tempo, o Android funcionava como qualquer outro sistema operacional de desktop para acessar seus arquivos; coisas como documentos, fotos, músicas ou qualquer outra coisa que você deseja armazenar no seu dispositivo estavam disponíveis para qualquer outro aplicativo abrir. Você disse que não há problema em um aplicativo fazer isso quando o instalou e acabou de fazer. Usando a interface do usuário nativa do aplicativo, você pode navegar pelo sistema de arquivos e ver todos os seus arquivos públicos.
Com o Android 4.4 KitKat, o Google começou a fazer alterações e adicionar restrições sobre como um aplicativo poderia acessar arquivos que não possuía e, com o Android 5.1, o Storage Access Framework foi implementado. Isso deu aos aplicativos uma maneira de acessar arquivos em outras pastas usando uma API do Android em vez de usar operações padrão de arquivos de programação. Funciona. É lento e bastante impopular, mas já está disponível e, atualmente, quase todos os desenvolvedores de um aplicativo que precisam desse tipo de acesso global já tentaram pelo menos verificar se é adequado ou não com base em suas necessidades.
Com o escopo de armazenamento do Android Q, as coisas são mais restritivas e mais fáceis ao mesmo tempo. Um aplicativo compatível recebe sua própria pasta para dados voltados para o usuário. Os aplicativos já têm uma pasta particular em área restrita para armazenamento dos arquivos necessários e isso não está disponível para nenhum outro aplicativo. O escopo de armazenamento permite criar uma segunda pasta para os arquivos que o aplicativo cria, porque nós o usamos e pedimos para criá-los. Pense em um aplicativo como um gravador de voz, por exemplo; ele precisa de um local para armazenar os arquivos de áudio que ele cria.
O aplicativo não precisa de permissão para ler ou gravar qualquer arquivo nesta pasta; portanto, você não é solicitado a conceder permissões quando o executa pela primeira vez em relação aos locais de leitura e gravação de arquivos. Os aplicativos também precisam de permissão para todas as pastas que desejam acessar, mas não possuem.
Os desenvolvedores foram treinados para usar métodos específicos para acessar arquivos desde o Lollipop, mas são muito impopulares.
Pastas "compartilhadas", como Música ou Imagens, têm um método interno para obter acesso (por enquanto - isso pode ser temporário enquanto o Android Q está na versão beta), mas todas as outras pastas no armazenamento externo, que é seu armazenamento interno gratuito e seu SD cartão, se você tiver um, agora precisa de permissão específica para ser acessado. Agora pense em um aplicativo como um gerenciador de arquivos e em como ele precisa acessar todas as pastas do seu cartão SD e armazenamento interno.
Os desenvolvedores que precisam acessar pastas que não pertencem ao seu aplicativo precisam usar as APIs do Storage Access Framework. Isso significa que ele precisa consultar a API para ver se os arquivos existem e obter a localização do dispositivo e pedir permissão ao usuário para usá-lo. Essa é a prática recomendada para o acesso a arquivos desde o Android Lollipop, por isso não é exatamente nova. Mas com o Android Q, ele agora é rigorosamente aplicado e não é mais "opcional".
Por que fazer essa mudança?
O Google fornece dois motivos válidos pelos quais está fazendo essa alteração: Segurança e redução de sobras de "confusão de aplicativos".
No campo da segurança, essa mudança faz algumas coisas. Em primeiro lugar, ele interrompe aplicativos maliciosos que dependem da concessão de acesso a dados confidenciais porque você não leu o que viu na caixa de diálogo e apenas clicou em sim. Isso acontece com a frequência necessária para ser abordado, apenas para proteger os infratores. E todos nós fizemos isso.
Ele também permite que um desenvolvedor tenha seu próprio espaço no armazenamento privado do seu dispositivo sem solicitar permissões específicas (consulte o primeiro motivo novamente) na primeira execução. E nenhum outro aplicativo pode acessar qualquer documento criado sem que você diga.
O motivo de uma mudança é bom, mas a mudança em si não está sendo bem recebida.
Reduzir a confusão de aplicativos precisa de pouca explicação. Quando você desinstala um aplicativo, os arquivos e pastas são descartados em todo o armazenamento do dispositivo, assim que você lhe dá permissão para fazê-lo. Muitas dessas sobras podem começar a afetar o desempenho, especialmente se os arquivos usarem um nome comum que pode ser repetido por outro aplicativo. Se um desenvolvedor cria um aplicativo que cria mídia como um aplicativo de câmera ou gravador de música, por exemplo, ele ou ela pode usar os locais padrão das pastas de mídia para depositar as coisas que você criar, para que não sejam removidas se o aplicativo for desinstalado.
Não escrito em pedra
O Android Q ainda está na versão beta; isso significa que os desenvolvedores são incentivados a instalá-lo e fornecer feedback. No momento, o feedback para o armazenamento com escopo não é muito bom. Existe até uma petição que pede ao Google para remover o recurso por enquanto e repensar sua implementação.
Os desenvolvedores estão compartilhando suas frustrações usando canais oficiais de feedback e, embora o Google às vezes pareça um objeto imóvel, ele está ouvindo. Acima de tudo, o Android é uma plataforma de aplicativos, e quebrar aplicativos populares não é algo que os desenvolvedores desejam fazer.
As coisas podem mudar antes que o Android Q seja finalizado no que se refere ao armazenamento com escopo. Ou pode ser completamente removido. Saberemos quando o virmos no outono de 2019.
Android Q: Tudo o que você precisa saber!