Wie löst man die Berechtigungsanforderung, die im Hauptthread in Xamarin aufgerufen werden muss?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie löst man die Berechtigungsanforderung, die im Hauptthread in Xamarin aufgerufen werden muss?

Post by Anonymous »

Ich habe eine Xamarin-App.
Die App verfügt über ein Webview-Steuerelement zum Öffnen einer Website. Ich möchte die Kamera des Mobiltelefons auf einer bestimmten Webseite verwenden, die die Kamera benötigt. Wenn diese spezielle Seite nicht geöffnet wird, ist es nicht erforderlich, eine Kameraberechtigung für die App anzufordern. Ich versuche, eine Anfrage von der Seite JavaScript an die Xamarin-App zu senden und den Kamerazugriff anzufordern.
Ich habe dieses Tutorial befolgt, um eine Hybrid-Webansicht zu erstellen, die es mir ermöglicht, Befehle von Javascript an zu senden C#: https://learn.microsoft.com/en-us/xamar ... ridwebview
Also habe ich eine Aktion registriert, die sein wird angerufen von JavaScript wie folgt:
hybridWebView.RegisterAction(async data =>
{
DisplayAlert("Hi ! you called this action from Javascript.");

// Request camera permission
RequestCameraAccessAsync();
});

Mit RequestCameraAccessAsync als:
private async void RequestCameraAccessAsync()
{
var status = await Permissions.CheckStatusAsync
();

if (status == PermissionStatus.Granted)
return;

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 = Permissions.RequestAsync().Result;
}

Die Brücke zwischen JavaScript und C# funktioniert einwandfrei. Wenn der Code jedoch auf „Berechtigung anfordern“ stößt, schlägt er fehl und sagt: Die Berechtigungsanforderung muss im Hauptthread aufgerufen werden.
Ich verstehe diesen Fehler. Aber gibt es angesichts der Tatsache, dass die Berechtigungsanforderung nur für eine registrierte Aktion erfolgen sollte, eine Möglichkeit, dies zum Laufen zu bringen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post