diff --git a/samples/CommunityToolkit.Maui.Sample/Pages/Views/CameraView/CameraViewPage.xaml.cs b/samples/CommunityToolkit.Maui.Sample/Pages/Views/CameraView/CameraViewPage.xaml.cs index c51a203e04..e978f6b163 100644 --- a/samples/CommunityToolkit.Maui.Sample/Pages/Views/CameraView/CameraViewPage.xaml.cs +++ b/samples/CommunityToolkit.Maui.Sample/Pages/Views/CameraView/CameraViewPage.xaml.cs @@ -25,9 +25,20 @@ protected override async void OnAppearing() { base.OnAppearing(); - var cameraPermissionsRequest = await Permissions.RequestAsync(); - var microphonePermissionsRequest = await Permissions.RequestAsync(); - + var packagingModel = AppInfo.Current.PackagingModel; + PermissionStatus microphonePermissionsRequest; + PermissionStatus cameraPermissionsRequest; + if (packagingModel == AppPackagingModel.Packaged || !OperatingSystem.IsWindows()) + { + cameraPermissionsRequest = await Permissions.RequestAsync(); + microphonePermissionsRequest = await Permissions.RequestAsync(); + } + else + { + // Permissions are automatically granted for unpackaged apps, so we can just set them to Granted. + microphonePermissionsRequest = PermissionStatus.Granted; + cameraPermissionsRequest = PermissionStatus.Granted; + } if (cameraPermissionsRequest is not PermissionStatus.Granted) { await Shell.Current.CurrentPage.DisplayAlertAsync("Camera permission is not granted.", "Please grant the permission to use this feature.", "OK"); diff --git a/src/CommunityToolkit.Maui.Camera/Views/CameraView.shared.cs b/src/CommunityToolkit.Maui.Camera/Views/CameraView.shared.cs index 73ddef4ba0..560e55ad49 100644 --- a/src/CommunityToolkit.Maui.Camera/Views/CameraView.shared.cs +++ b/src/CommunityToolkit.Maui.Camera/Views/CameraView.shared.cs @@ -326,7 +326,7 @@ static Command CreateStartCameraPreviewCommand(BindableObject return new(async token => await cameraView.StartCameraPreview(token).ConfigureAwait(false)); } - static Command CreateStopCameraPreviewCommand(BindableObject bindable) + static Command CreateStopCameraPreviewCommand(BindableObject bindable) { var cameraView = (CameraView)bindable; return new(_ => cameraView.StopCameraPreview());