Dlaczego zalecane "getExternalStorageState ()" w celu wymiany przestarzałego " getExternalStorageDirectory()` nie działa prawidłowo?

0

Pytanie

Problem: Kiedy używam zalecany getExternalStorageState() przy wymianie getExternalStorageDirectory(), zalecana wymiana zwraca niepoprawny sposób. Znalazłem problem, gdy FileInputStream bezwypadkowy, czego wcześniej nie było.

Następujący nieaktualne, ale słusznie zwraca: /storage/emulated/0/Download/alaina.jpg

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

Zaleca się i zwracany jest następujący: mounted/download/alaina.jpg

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

Co zrobiłem: zaimportowałem i używam klasa RealPathUtil w татокастеру, znalezionego tutaj, i to działa dobrze. Niemniej jednak, niektóre metody Environment i MediaStore używane teraz nieaktualne. Korzystanie z getExternalStorageState() zaleca się za pomocą alertów. Zazwyczaj sprzątam ostrzeżenia i używam zalecenia, i to pierwsze, co powoduje problem.

Lokalizacja emulatora:

enter image description here

1

Najlepsza odpowiedź

2

Gdy używam zalecana getExternalStorageState() w celu wymiany przestarzałego getExternalStorageDirectory(),

To nie ma sensu, ponieważ nie można porównywać ich ze sobą.

Ten, który zawiera ścieżkę do pliku. Inny - państwo.

Nie ma potrzeby korzystania z getExternalStorageState (), tak jak on zawsze zwraca stan zamontowany.

Z biegiem lat, zawsze pojawiały się dostępna pamięć zewnętrzna.

Metoda getExternalStorageDirectory() działa i nie został rekomendowany tydzień temu.

2021-11-23 20:10:39

Dziękuję. Masz rację, to nie ma sensu. Nie sądzę, że to było zalecane przez IDE, chyba że źle odczytałem źródło o getExternalStorageState() i błędnie odczytałem to. Niemniej jednak, nadal wraca przestarzałe, ale ja po prostu zamień z powrotem i zostawię go. Jeszcze raz dziękuję.
svstackoverflow

W innych językach

Ta strona jest w innych językach

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