Prečo odporúča `getExternalStorageState()` nahradiť zastarané `getExternalStorageDirectory () " nie je správne fungovať?

0

Otázka

Problém: Keď som sa použiť odporúča sa getExternalStorageState() ak chcete vymeniť zastarané getExternalStorageDirectory()odporúčaná výmena vráti zlú cestu. Objavil som problém, keď FileInputStream havaroval, ktoré nebolo predtým.

Takto je zastarané, ale správne vráti: /storage/emulated/0/Download/alaina.jpg

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

Takto sa odporúča, a vrátenie tovaru: mounted/download/alaina.jpg

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

To, čo som urobil: som dovezené, a pomocou triedy RealPathUtil podľa tatocaster našiel tu a funguje to skvele. Avšak, niektoré metódy Environment a MediaStore použité sú teraz zavrhované. Použitie getExternalStorageState() bolo odporúčané prostredníctvom upozornenia. Som obyčajne vyčistiť varovania a používať odporúčania a toto je prvý spôsobiť problém.

Emulátora miesto:

enter image description here

1

Najlepšiu odpoveď

2

Keď som použite odporúčaný getExternalStorageState() nahradiť zastarané getExternalStorageDirectory(),

Že nemá zmysel ako nemôžete porovnávať ich s ostatnými.

Ten prináša cestu k súboru. Ostatné štátu.

Nie je potrebné používať getExternalStorageState (), ako to vždy vráti štátu namontované.

Od rokov nie je vždy externé úložisko k dispozícii.

Metóda getExternalStorageDirectory() funguje a je undeprecated pred týždňom.

2021-11-23 20:10:39

Vďaka. Máte pravdu, ktorá nedáva zmysel. Nemyslím si, že to bolo odporúčané prostredníctvom IDE, myslím si, že misread zdroj o getExternalStorageState() a mysleli si to. Avšak, stále sa to vracia ako zavrhované, ale ja sa jednoducho vrátiť a nechať to. Opäť, vďaka.
svstackoverflow

V iných jazykoch

Táto stránka je v iných jazykoch

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