Problema: Quando eu uso a recomendada getExternalStorageState()
para substituir o obsoleto getExternalStorageDirectory()
, a substituição recomendada retorna o caminho errado. Eu descobri que o problema quando a FileInputStream
caiu, o que não era antes.
O seguinte é preterido mas retorna corretamente: /storage/emulated/0/Download/alaina.jpg
return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName;
Recomenda-se o seguinte e retorna: mounted/download/alaina.jpg
return Environment.getExternalStorageState() + "/Download/" + fileName;
O que eu fiz: eu importados e usando a classe RealPathUtil
por tatocaster encontrado aqui e funciona muito bem. No entanto, alguns métodos de Environment
e MediaStore
usado agora são obsoletos. O uso de getExternalStorageState()
foi recomendado através de avisos. Eu normalmente limpar as advertências e recomendações de uso e este é o primeiro a causar um problema.
O emulador localização:
getExternalStorageState()
e mal interpretado-lo. No entanto, ele ainda retorna preterida, mas eu só vou voltar e deixá-lo. Mais uma vez, obrigado.