Como faço para atualizar / verificar novamente a memória SD no Android 4.4 KitKat

13

Recebi a atualização oficial do OTA KitKat para o meu Nexus 4 na semana passada e, desde então, não consigo verificar novamente o cartão SD. Eu tentei vários aplicativos diferentes para esta tarefa, mas todos falham ao serem abertos. Um pouco de pesquisa mostra um punhado de usuários com o mesmo problema.

Estes são os aplicativos que eu tentei:

  • Rescan Media ( Aditya Talpade )
  • Verifique novamente o cartão SD! ( sTOOPIDfiG )
  • Verifique novamente o cartão de memória SD ( RADEFFFACTORY )
  • SDrescan ( Benjamin Rosseaux ) meu antigo modo de espera em Jelly Bean

Cada aplicativo falha quando iniciado. Alguém pode atualizar sua memória SD no KitKat?

zippanova
fonte

Respostas:

13

Não funcionará para detectar arquivos excluídos, mas acabei de instalar um aplicativo na Play Store que funcionará em arquivos novos e atualizados: https://play.google.com/store/apps/details?id=com. gmail.jerickson314.sdscanner

Ele usa uma solução alternativa inspirada na resposta de Dan Hulme: usando a API que é apenas para um arquivo específico, mas gerando manualmente uma lista recursiva de arquivos no cartão. Isso requer apenas a permissão de leitura no cartão SD, não raiz, e tem o bom efeito colateral de permitir um indicador de progresso confiável.

Jeremy Erickson
fonte
Essa deve ser a resposta aceita; A resposta de Dan não resolve o problema. A outra metade do problema - livrar-se dos arquivos excluídos - é resolvida limpando manualmente o cache e os dados do Media Service. É fácil entrar na situação em que você é forçado a fazer uma nova verificação - por exemplo, quando você renomeia uma pasta.
Barry Kelly
Desde que escrevi esta resposta, implementei a funcionalidade para ler o banco de dados de mídia. Até onde eu sei, está trabalhando para detectar arquivos excluídos. Às vezes, os arquivos excluídos não estão aparecendo no banco de dados de mídia, o que eu suspeito que significa que eles estão sendo limpos pelo Google Play Music ou algo assim antes que o SD Scanner chegue a eles.
11133 Jeremy Erickson
Irritantemente, eu tive que copiar os toques, alarmes, sons de notificação etc. para locais em / sdcard para que eles fossem encontrados novamente pelas Configurações.
Barry Kelly
Infelizmente, o aplicativo parece não estar mais na loja
Edward Falk
6

Você não pode mais usar aplicativos como esse. Como muitos aplicativos abusaram da MEDIA_MOUNTEDintenção de transmissão para causar uma nova verificação de todo o sistema de arquivos (bateria descarregada) depois que eles mudaram apenas um arquivo, o KitKat possui uma nova restrição de que apenas aplicativos do sistema podem transmitir essa intenção. Os aplicativos que tentarem obterão um SecurityExceptionque, por padrão, faz com que a caixa de diálogo "... tenha parado".

Existe um mecanismo alternativo para um aplicativo dizer que mudou um arquivo específico e fazer com que o arquivo seja verificado novamente (não recursivamente), mas (a) não há substituto que varra todo um sistema de arquivos, porque isso seria abusado da mesma maneira ; e (b) cabe ao aplicativo chamar isso. Não é algo que você possa mudar como usuário.

Um aplicativo que usasse o conseguiria fazer esse trabalho da mesma maneira que o 4.3 e anterior, mas, novamente, ele precisaria ser escrito especificamente para solicitar o root. Fazer o root no dispositivo não faria com que seus aplicativos antigos voltassem a funcionar.

Para mais detalhes técnicos, consulte Como acionar o MediaScan no Nexus 7? no Stack Overflow, nosso site irmão para perguntas sobre programação.

Dan Hulme
fonte
Esta não é uma resposta para a pergunta. Minha mídia está completamente inacessível no KitKat simplesmente porque renomeei uma pasta. A remoção da funcionalidade sem fornecer uma alternativa está completamente interrompida.
Barry Kelly
3

Esta é uma pergunta muito boa e vejo que já está respondida. Eu escrevi um pequeno aplicativo para resolver esse problema especificamente no Kit Kit (Android 4.4 ou superior). Meu aplicativo funciona em todos os telefones.

Aqui:

https://play.google.com/store/apps/details?id=burrows.apps.sdcard

Isso funciona no Nexus 5!

Por favor, deixe-me saber se isso ajuda você!

Disclaimer: Eu escrevi este aplicativo.

Jared Burrows
fonte