Проблема: Когда я использую рекомендуемый getExternalStorageState()
для замены устаревшего getExternalStorageDirectory()
, рекомендуемая замена возвращает неверный путь. Я обнаружил проблему, когда FileInputStream
разбился, чего раньше не было.
Следующее устарело, но правильно возвращает: /storage/emulated/0/Download/alaina.jpg
return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName;
Рекомендуется и возвращается следующее: mounted/download/alaina.jpg
return Environment.getExternalStorageState() + "/Download/" + fileName;
Что я сделал: я импортировал и использую класс RealPathUtil
по татокастеру, найденному здесь, и он отлично работает. Тем не менее, некоторые методы Environment
и MediaStore
используемые теперь устарели. Использование getExternalStorageState()
было рекомендовано с помощью предупреждений. Обычно я убираю предупреждения и использую рекомендации, и это первое, что вызывает проблему.
Расположение эмулятора:
getExternalStorageState()
и неверно истолковал это. Тем не менее, он по-прежнему возвращается устаревшим, но я просто переключусь обратно и оставлю его. Еще раз спасибо.