Proč se doporučuje `getExternalStorageState ()`, aby nahradit zastaralé `getExternalStorageDirectory()` nefunguje správně?

0

Otázka

Problém: Když jsem se použít doporučené getExternalStorageState() nahradit zastaralé getExternalStorageDirectory()doporučená výměna vrátí na špatnou cestu. Objevil jsem problém, když FileInputStream havaroval, což předtím nebylo.

Následující je zastaralý, ale správně se vrací: /storage/emulated/0/Download/alaina.jpg

return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName;

Je doporučeno následující a výnosy: mounted/download/alaina.jpg

return Environment.getExternalStorageState() + "/Download/" + fileName;

Co jsem udělal: jsem dovezl a pomocí třídy RealPathUtil podle tatocaster našel tady a funguje to skvěle. Nicméně, některé metody Environment a MediaStore použity jsou nyní zastaralé. Použití getExternalStorageState() bylo doporučeno přes varování. Já se obvykle vyčistit varování a použijte doporučení, a to je první příčinou problému.

Emulátor umístění:

enter image description here

1

Nejlepší odpověď

2

Když jsem se použít doporučuje getExternalStorageState() nahradit zastaralé getExternalStorageDirectory(),

To nedává smysl, protože nelze porovnat je s sebou.

Ten přináší cestu k souboru. Druhý státu.

Není třeba používat getExternalStorageState (), jak to vždy vrátí státu namontován.

Od doby, let tam je vždy externí úložiště k dispozici.

Metoda getExternalStorageDirectory() funguje a je undeprecated před týdnem.

2021-11-23 20:10:39

Díky. Máte pravdu, že to nedává smysl. Nemyslím si, že to bylo doporučeno přes IDE, myslím, že jsem si špatně vyložil zdroj o getExternalStorageState() a špatně si to vyložil. Nicméně, to stále vrací zastaralé, ale já se prostě přepnout zpět a odejít. Znovu, díky.
svstackoverflow

V jiných jazycích

Tato stránka je v jiných jazycích

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