Я хочу, чтобы мое приложение экспортировало данные в каталог загрузок.
Чтобы получить каталог загрузок, я использую этот код string path = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath;
Переменная path
имеет значение "/storage/emulated/0/Download"
.
Когда я сохраняю свой файл в Path.Combine(path, "myfile.ext")
, файл сохраняется правильно.
Чтобы открыть этот файл с помощью моего приложения, я создал действие ImportActivity
с прикрепленным intent-filter
.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="*" />
<data android:mimeType="*/*" />
<data android:pathPattern="/.*\\.ext" />
<data android:scheme="file" />
<data android:scheme="content" />
</intent-filter>
Теперь, когда я использую файловый браузер (от Samsung) и перехожу в каталог загрузок, я вижу свой файл.После нажатия на указанный файл создается мой ImportActivity
, и я получаю путь к файлу "/device_storage/Download/myfile.ext"
(тот же файл в другом каталоге).Когда я пытаюсь получить соответствующий FileStream
, я получаю исключение, что указанная папка не может быть найдена.Это моя первая проблема.
Моя вторая проблема заключается в том, что после просмотра содержимого папки загрузки в проводнике Windows или после перезагрузки устройства myfile.ext не открывается в моем приложении.Кажется, что нет связи с файлами.
Как я могу решить эти проблемы?