如何使用 Xamarin 表单为 Android API 级别 33 请求音乐和音频、通知以及照片和视频的权限
在 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.xaml和MediaPickerViewModel.cs.
3.其他权限也可以参考上面的代码