Получить 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);

Вы можете использовать поток ввода, как если бы он был потоком ввода файла.

Другие вопросы по тегам