Eu salvo uma imagem no sdcard e ela não aparece no aplicativo Gallery até que eu retire o sdcard e o devolva.
Você tem alguma ideia do porquê?
Parece que o aplicativo Gallery tem algum cache que não é atualizado ao salvar o arquivo ...
Na verdade, também quero abrir a imagem que acabei de salvar no aplicativo Gallery e não tenho sucesso com isso,
essa é a minha dúvida sobre esse assunto.
Respostas:
O sistema verifica o cartão SD quando ele é montado para encontrar novos arquivos de imagem (e outros). Se você estiver adicionando um arquivo programaticamente, poderá usar esta classe:
http://developer.android.com/reference/android/media/MediaScannerConnection.html
fonte
Uma solução mais simples é usar o método de conveniência estático scanFile () :
onde
this
está sua atividade (ou qualquer contexto), o tipo mime só é necessário se você estiver usando extensões de arquivo não padrão enull
é para o retorno de chamada opcional (que não precisamos para um caso tão simples).fonte
Minha resposta para a pergunta original e para qualquer outra pessoa que possa ter esse problema:
Eu estava tendo o mesmo problema, as imagens em meu aplicativo que as pessoas salvavam no cartão SD não apareciam na Galeria imediatamente. Depois de alguma pesquisa, encontrei esta linha de código inserida após o meu código 'salvar no cartão SD' que corrigiu o problema:
fonte
Você também pode adicionar uma imagem à Galeria de mídia por intenção, dê uma olhada no código de exemplo para ver como isso é feito:
fonte
Uri
mas o problema é que a imagem inserida não está aparecendo na galeria. Eu verifiquei tanto no início quanto no final da galeria. Você pode sugerir algum método para que a imagem inserida apareça na galeria imediatamente?Atualização da galeria incluindo Android KITKAT
fonte
Aqui está o código para o MediaScannerConnection:
newfile é o objeto Arquivo de seu arquivo novo / salvo.
fonte
MyMediaConnectorClient
...há um aplicativo no emulador que diz - 'Ferramentas de Desenvolvimento'
clique nele e selecione 'Media Scanning' .. todas as imagens serão digitalizadas
fonte
Deixe sua atividade implementar 'MediaScannerConnectionClient' e adicione isso à sua atividade:
fonte
Uri
da imagem, por exemplo:content://media/external/images/media/1231778
este trabalho comigo
fonte
fonte
Aqui estou compartilhando o código que pode carregar a imagem em forma de bitmap e salvar essa imagem na galeria sdcard na pasta de nome do aplicativo. Você deve seguir estas etapas
fonte
Não parece funcionar no KITKAT. Ele lança exceção de negação de permissão e trava o aplicativo. Então, para isso, fiz o seguinte,
Espero que ajude.
fonte
Use isto depois de salvar a imagem
fonte
Meu código para MyMediaConnectorClient:
fonte
Você precisa dar permissões para o aplicativo Gallery. Basta pressionar longamente o ícone do aplicativo da galeria na tela inicial e tocar em 'APP INFO' que aparece no topo da tela. Fazer isso irá mostrar as configurações do aplicativo da galeria. Agora vá na guia Permissões e habilite o armazenamento, as permissões da câmera, alternando-o. Agora vá para o aplicativo de galeria nativa e você obterá as imagens salvas.
fonte
Isso também resolverá seu problema se sua imagem na galeria não estiver aparecendo, em vez disso, eles podem mostrar um bitmap do tipo 404 no meio. por favor, adicione as tags que estão em meu código com a sua imagem porque deve haver alguns metadados para mostrar a imagem na galeria.
fonte
Experimente este, ele transmitirá sobre uma nova imagem criada, para que sua imagem fique visível. dentro de uma galeria. photoFile substitui pelo caminho real do arquivo da imagem recém-criada
fonte