Извлечение файла, пропущенного через фильтр намерений в API 29+ - PullRequest
1 голос
/ 11 октября 2019

У меня есть рабочая реализация для API <29, и я пытаюсь перейти на новейший API. </p>

AndroidManifest:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.EDIT" />

    <category android:name="android.intent.category.DEFAULT" />

    <data
        android:host="*"
        android:mimeType="*/*"
        android:pathPattern=".*\\.pdf"
        android:scheme="file" />
</intent-filter>

Операция вызывается, и я могу получить доступ к пути к файлучерез getIntent().getData(), но если я попытаюсь открыть InputStream к нему, мой доступ будет запрещен. Я знаю, что вы должны использовать Storage Access Framework, чтобы позволить пользователю выбрать документ, но все примеры в документации включают приложение, запрашивающее у пользователя открыть определенный файл, а не тот случай, когда пользователь открывает файлчерез файловый менеджер.

Как получить доступ к файлу, который пользователь хочет открыть в моем приложении при таргетинге на SDK 29?

...