#xamarin.forms
#xamarin.forms
Вопрос:
теперь я пытаюсь сделать снимок с помощью кнопки и отправлю его в базу данных, не сохраняя в галерее, мое ограничение заключается в том, что пользователь не может сделать снимок из галереи, это должно быть в реальном времени, так как я могу это сделать?
Комментарии:
1. Посмотрите на эти потоки для исключения: mediaplugin-argument-exception и android-file-provider-setup
Ответ №1:
используйте медиа-плагин
takePhoto.Clicked = async (sender, args) =>
{
await CrossMedia.Current.Initialize();
if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
{
DisplayAlert("No Camera", ":( No camera available.", "OK");
return;
}
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
{
Directory = "Sample",
Name = "test.jpg"
});
if (file == null)
return;
await DisplayAlert("File Location", file.Path, "OK");
image.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
return stream;
});
};
Комментарии:
1. я использовал «использование плагина. Медиафайлы. Абстракции; Использование плагина. Media; » и поместите этот код в try {} , приложение перейдет к catch () .
2. да, я сделал это и попытался использовать DefaultCamera, но ничего
3. какое исключение вы получаете?
4. невозможно получить местоположение файла, это, скорее всего, означает, что информация о поставщике файлов. не установлено на главном экране Android