使用 xamarin 表单请求 android 13(Android API 级别 33)的权限

问题描述 投票:0回答:1

如何使用 Xamarin 表单为 Android API 级别 33 请求音乐和音频、通知以及照片和视频的权限

xamarin.forms xamarin.android
1个回答
0
投票

在 xamarin 形式中,您可以使用 Xamarin.Essentials: Permissions 来实现这一点。

例如,如果你想拍照和录像,你需要请求许可

Permissions.Camera
.

您可以先查看

Camera
的状态并使用代码请求
status = await Permissions.RequestAsync<Permissions.Camera>();

请参考以下代码:

    public async Task<PermissionStatus> CheckAndRequestCameraPermission() 
    {
        var status = await Permissions.CheckStatusAsync<Permissions.Camera>();

        if (status == PermissionStatus.Granted)
            return status;

        if (status == PermissionStatus.Denied && DeviceInfo.Platform == DevicePlatform.iOS)
        {
            // Prompt the user to turn on in settings
            // On iOS once a permission has been denied it may not be requested again from the application
            return status;
        }

        if (Permissions.ShouldShowRationale<Permissions.Camera>())
        {
            // Prompt the user with additional information as to why the permission is needed
        }

        status = await Permissions.RequestAsync<Permissions.Camera>();

        return status;
    }

注:

1.我已经在android模拟器(android 13)上测试了上面的代码,它可以正常工作。

2.如果要拍照和录像,也可以直接使用Xamarin.Essentials: Media Picker

你可以参考官方示例here。例如,如何拍照和录像,请查看MediaPickerPage.xamlMediaPickerViewModel.cs.

3.其他权限也可以参考上面的代码

© www.soinside.com 2019 - 2024. All rights reserved.