【问题标题】:Xamarin.Android MediaPicker.CapturePhotoAsync does not work in Android 13Xamarin.Android MediaPicker.PickPhotoAsync 在 Android 13 中不起作用
【发布时间】:2023-01-03 18:08:10
【问题描述】:

我正在使用 Xamarin.Essentials MediaPicker 在我的应用程序中捕获图像。 https://learn.microsoft.com/de-de/xamarin/essentials/media-picker?tabs=android

就像var photo = await MediaPicker.CapturePhotoAsync();

对于 Android < 13,我要求权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />

一切正常。

由于这些权限不适用于 Android 13,我要求

<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />

(见Android 13 - How to request WRITE_EXTERNAL_STORAGE

问题是,Xamarin.Essentials.MediaPicker 在尝试拍照时仍然缺少 StorageWritePermission。但我不能要求 Android 13 中的那些。

有什么想法可以让它适用于 Android 13 吗?

【问题讨论】:

  • 谁告诉您它使用或需要这些权限?不需要它们。
  • 任何答案,我有同样的问题。
  • @blackapps 异常处理程序告诉我,因为应用程序崩溃了(见截图)

标签: android xamarin xamarin.android android-13 xamarin-essentials


【解决方案1】:

Android 13 更改了权限。 Android 13 为媒体提供了更精细的权限。您可以查看READ_EXTERNAL_STORAGE 了解更多信息。

从 API 级别 33 开始,此权限 READ_EXTERNAL_STORAGE 无效。如果您的应用程序访问其他应用程序的媒体文件,请改为请求这些权限中的一项或多项:READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2022-12-23
    相关资源
    最近更新 更多