Storage Access Framework - Некоторые методы DocumentsContract не компилируются, когда включены в мое приложение для Android - PullRequest
0 голосов
/ 27 июня 2019

Я хотел бы добавить поддержку Storage Access Framework для моего приложения.

Я создал служебный класс Java для некоторых операций SAF.

Я добавил его в пример проекта с

compileSdkVersion 29
buildToolsVersion "29.0.0"
minSdkVersion 25
targetSdkVersion 29

и

import androidx.documentfile.provider.DocumentFile;

включены.

Успешно скомпилировано.

Мое приложение имеет

compileSdkVersion 21
buildToolsVersion '28.0.3'
minSdkVersion 21
targetSdkVersion 26

Но яобратите внимание, что имена методов в

DocumentContracts.copyDocument()

и

DocumentContracts.removeDocument()

выделены красным (но они относятся к уровню API 19).

Если я включу

import androidx.documentfile.provider.DocumentFile;

Я вижу, что

documentfile

выделено красным.

Обратите внимание, что автозаполнение работает на

DocumentsContract

и показывает мне много методов изSAF.

Кроме того, я вижу, что некоторые исключения больше не требуются, например, когда используются

renameDocument()

или

createDocument()

.

Что такоенеправильно?Что за исправление?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

ваше приложение имеет minSdkVersion 21 (= приложение обещает работать на android-21 и новее), а ваша библиотека имеет minSdkVersion 25 (= библиотека сообщает, что не может работать на android-24 или старше)

, поэтому ваше 21-приложение не может использовать ваш 25-lib

0 голосов
/ 02 июля 2019

Кажется, это хорошо:

compileSdkVersion 29
buildToolsVersion '28.0.3'
minSdkVersion 25
targetSdkVersion 29

и

dependencies {
compile 'com.android.support:support-v4:28.0.0'
}
...