Получить Real FilePath из общего видеофайла
Доброе утро всем
У меня есть этот код в моем приложении, он предназначен для получения файла из другого приложения с помощью кнопки "Поделиться". И здесь нет проблем.
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.startsWith("video/")) {
Uri imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
String path = imageUri.getPath();
// /item/4567592 --> whatsapp
// /media/telegram/telegram docuemnts/name.mp4 --> telegram
// no more apps tested
}
}
Вопрос в том, что мне нужен абсолютный абсолютный путь к файлу, да, я не хочу использовать файл или что-то еще, я хочу фактический путь к файлу на устройстве.
Я перепробовал 1000 вещей, а также решения с курсором, но они возвращают ноль или другие загадочные ошибки.
Я пытался сохранить файл во внутренней памяти или в кеше приложения, но я тоже не получил его.
Предложения? Спасибо!
1 ответ
Я хочу абсолютный абсолютный путь к файлу.
Вы не должны этого хотеть. Для этого нет причин, если вам не нужно указывать "путь" к внешней библиотеке.
Просто откройте InputStream
, Чтение из потока и сохранение в файл.
InputStream is = getContentResolver().openInputStream(imageUri);
Вы можете использовать поток ввода, как если бы он был потоком ввода файла.