Por que o recomendado " getExternalStorageState()` para substituir os obsoletos `getExternalStorageDirectory()` não funciona corretamente?

0

Pergunta

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:

enter image description here

1

Melhor resposta

2

Quando eu uso o recomendado getExternalStorageState() para substituir o obsoleto getExternalStorageDirectory(),

Isso não faz sentido, não é possível compará-los uns com os outros.

O one oferece um caminho de arquivo. O outro, um estado.

Não há necessidade de usar getExternalStorageState() sempre retorna estado montado.

Desde os anos há sempre externos de armazenamento disponível.

Método getExternalStorageDirectory() trabalha e é undeprecated de uma semana atrás.

2021-11-23 20:10:39

Obrigado. Você está certo, que não faz sentido. Eu não acho que foi recomendada através do IDE, eu acho que eu li errado uma fonte sobre o getExternalStorageState() e mal interpretado-lo. No entanto, ele ainda retorna preterida, mas eu só vou voltar e deixá-lo. Mais uma vez, obrigado.
svstackoverflow

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................