Я не могу напрямую сохранить изменения в файле, открытом через приложение maui. ⇐ C#
Я не могу напрямую сохранить изменения в файле, открытом через приложение maui.
Мое приложение сохраняет документы (pdf, word...) во внешней папке (документы) с разрешением на доступ ко всем файлам. Однако когда я открываю документ из приложения, оно открывает копию документа, которую я затем могу сохранить только как копию и заменить ею исходный файл. Я хотел бы открыть исходный файл напрямую.
Код OpenDocuments:
public async void OpenFile(FileInfo fileInfo) { пытаться { Java.IO.File myDir = новый (fileInfo.Directory.FullName); мойDir.Mkdir(); Файл Java.IO.File = новый (myDir, fileInfo.Name); если (файл.Существует()) { если (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.N) { var fileUri = AndroidX.Core.Content.FileProvider.GetUriForFile(Android.App.Application.Context, Android.App.Application.Context.PackageName + ".provider", file); вар намерение = новое намерение (Intent.ActionOpenDocument); намерение.SetData(fileUri); намерение.AddFlags(ActivityFlags.NewTask); Intent.AddFlags(ActivityFlags.GrantReadUriPermission); намерение.AddFlags(ActivityFlags.GrantWriteUriPermission); Android.App.Application.Context.StartActivity(намерение); } еще { вар fileUri = Android.Net.Uri.Parse(file.AbsolutePath); вар намерение = новое намерение (Intent.ActionView); намерение.SetDataAndType(fileUri, fileInfo.Extension); намерение = Intent.CreateChooser(намерение, «Открыть файл»); намерение!.AddFlags(ActivityFlags.NewTask); Android.App.Application.Context.StartActivity(намерение); } } } поймать (Исключение ex) { await Shell.Current.DisplayAlert("ОШИБКА", ex.Message, "ОК"); } } provider_path.xml:
поставщик в манифесте Android:
Мое приложение сохраняет документы (pdf, word...) во внешней папке (документы) с разрешением на доступ ко всем файлам. Однако когда я открываю документ из приложения, оно открывает копию документа, которую я затем могу сохранить только как копию и заменить ею исходный файл. Я хотел бы открыть исходный файл напрямую.
Код OpenDocuments:
public async void OpenFile(FileInfo fileInfo) { пытаться { Java.IO.File myDir = новый (fileInfo.Directory.FullName); мойDir.Mkdir(); Файл Java.IO.File = новый (myDir, fileInfo.Name); если (файл.Существует()) { если (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.N) { var fileUri = AndroidX.Core.Content.FileProvider.GetUriForFile(Android.App.Application.Context, Android.App.Application.Context.PackageName + ".provider", file); вар намерение = новое намерение (Intent.ActionOpenDocument); намерение.SetData(fileUri); намерение.AddFlags(ActivityFlags.NewTask); Intent.AddFlags(ActivityFlags.GrantReadUriPermission); намерение.AddFlags(ActivityFlags.GrantWriteUriPermission); Android.App.Application.Context.StartActivity(намерение); } еще { вар fileUri = Android.Net.Uri.Parse(file.AbsolutePath); вар намерение = новое намерение (Intent.ActionView); намерение.SetDataAndType(fileUri, fileInfo.Extension); намерение = Intent.CreateChooser(намерение, «Открыть файл»); намерение!.AddFlags(ActivityFlags.NewTask); Android.App.Application.Context.StartActivity(намерение); } } } поймать (Исключение ex) { await Shell.Current.DisplayAlert("ОШИБКА", ex.Message, "ОК"); } } provider_path.xml:
поставщик в манифесте Android:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Я не могу напрямую сохранить изменения в файле, открытом через приложение maui.
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я не могу напрямую сохранить изменения в файле, открытом через приложение maui.
Anonymous » » в форуме Android - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я не могу напрямую сохранить изменения в файле, открытом через приложение maui.
Anonymous » » в форуме C# - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Я не могу напрямую сохранить изменения в файле, открытом через приложение maui.
Anonymous » » в форуме Android - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-