У меня есть активность, когда пользователи нажимают «share» в файле, он откроет мое приложение и начнет загружать файл. Теперь это отлично работает с изображениями, потому что URI вернулся для MediaStore. Но я хочу, чтобы иметь возможность вернуть URI из любого источника, например, из ES File ExplorerКак вернуть работоспособный путь к файлу?
Вот текущий код:
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
Как я могу сделать это так, вместо MediaStore он будет использоваться для любой тип файла?
Спасибо, работал как шарм, но с некоторыми незначительными изменениями. Этот код не позволял мне скомпилировать, пока я не забрал «if (uri.getScheme(). Equals (« file »)» и добавит дополнительную скобку после (uri.getScheme(). Equals («content») и Я сделал File myFile = новый файл (uri.getPath()); – Zakukashi
О, извините за те опечатки, я обновил свой ответ. Спасибо, что указали это. –