По пути data/data/com.app.app/shared_prefs/ находятся файлы, которые пользователь должен отправлять, например, в облако.
Такая запись:
Uri uri = Uri.fromFile(((File) it.next()));
share.putExtra(Intent.EXTRA_STREAM, uri);
на API 24+ не работает. Необходимо использовать:
Uri uri = FileProvider.getUriForFile(this, "com.app.app.provider", ((File) it.next()));
Вот только крашится с ошибкой:
Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains /data/data/com.app.app/shared_prefs/file.xml
Сделал всё как надо по туториалу из документации по провайдеру - https://developer.android.com/reference/android/support/v4/content/FileProvider.html. Но если верить этим подсказкам:
The root path of this subdirectory is the same as the value returned by getCacheDir().
Ни один из вариантов мне не подходит.
getFilesDir: /data/user/0/com.app.app/files
getCacheDir: /data/user/0/com.app.app/cache
getExternalStorageDirectory: /storage/emulated/0
getExternalFilesDir: /storage/emulated/0/Android/data/com.app.app/files
getExternalCacheDir: /storage/emulated/0/Android/data/com.app.app/cache
Т.к. мои файлы находятся в папке SharedPreferences. Есть ли вариант таки поделиться ими, кроме как копирования их в одну из папок выше и последующего удаления?
Манифест:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.app.app.provider"
android:exported="false"
android:grantUriPermissions="true"
tools:ignore="InnerclassSeparator">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
provider_paths.xml. Пробовал всевозможные разные варианты, но безрезультатно. Сейчас там так:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="data/data/com.app.app/shared_prefs/" name="shared_prefs" />
<external-path path="." name="external_storage_root" />
</paths>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
есть вот такой стринг в котрый я поместил header String header = httpURLConnection2getHeaderFields()
Есть система на python, надо, чтобы она запускалась из-под JSPМне нужно написать обертку для этой системы, чтобы ее можно было собрать в java-приложение...
В чем может быть проблема? При тестировании на устройствах, приложение работает исправно, а как сгенерировал apk, так сразу появилась ошибка