Share via


Xamarin.Essentials:Lampe

La classe Flashlight permet d’activer ou de désactiver le flash de l’appareil photo de l’appareil pour transformer celui-ci en lampe de poche.

Bien démarrer

Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.

Pour accéder à la fonctionnalité de lampe de poche, la configuration suivante spécifique à la plateforme est obligatoire.

Les autorisations Flashlight et Camera sont obligatoires, et doivent être configurées dans le projet Android. Vous pouvez l’ajouter des façons suivantes :

Ouvrez le fichier AssemblyInfo.cs sous le dossier Propriétés et ajoutez :

[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
[assembly: UsesPermission(Android.Manifest.Permission.Camera)]

OU mettez à jour le manifeste Android :

Ouvrez le fichier AndroidManifest.xml sous le dossier Propriétés et ajoutez le code suivant à l’intérieur du nœud manifeste .

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

Vous pouvez également cliquer avec le bouton droit sur le projet Android, et ouvrir les propriétés du projet. Sous Manifeste Android, recherchez la zone Autorisations nécessaires, puis cochez les autorisations FLASHLIGHT et CAMERA. Cela entraîne la mise à jour automatique du fichier AndroidManifest.xml.

Si vous ajoutez ces autorisations, Google Play va filtrer automatiquement les appareils n’ayant pas un matériel spécifique. Vous pouvez contourner ce problème en ajoutant ce qui suit au fichier AssemblyInfo.cs de votre projet Android :

[assembly: UsesFeature("android.hardware.camera", Required = false)]
[assembly: UsesFeature("android.hardware.camera.autofocus", Required = false)]

Cette API utilise des autorisations d’exécution sur Android. Vérifiez que est entièrement initialisé et que Xamarin.Essentials la gestion des autorisations est configurée dans votre application.

Dans le projet MainLauncher Android ou tout Activity qui est lancé Xamarin.Essentials doit être initialisé dans la OnCreate méthode :

protected override void OnCreate(Bundle savedInstanceState) 
{
    //...
    base.OnCreate(savedInstanceState);
    Xamarin.Essentials.Platform.Init(this, savedInstanceState); // add this line to your code, it may also be called: bundle
    //...
}    

Pour gérer les autorisations d’exécution sur Android, Xamarin.Essentials doit recevoir n’importe quel OnRequestPermissionsResult. Ajoutez le code suivant à toutes les classes Activity :

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
{
    Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

    base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}

Utilisation de la lampe de poche

Ajoutez une référence à Xamarin.Essentials dans votre classe :

using Xamarin.Essentials;

Vous pouvez activer et désactiver la lampe de poche à l’aide des méthodes TurnOnAsync et TurnOffAsync :

try
{
    // Turn On
    await Flashlight.TurnOnAsync();

    // Turn Off
    await Flashlight.TurnOffAsync();
}
catch (FeatureNotSupportedException fnsEx)
{
    // Handle not supported on device exception
}
catch (PermissionException pEx)
{
    // Handle permission exception
}
catch (Exception ex)
{
    // Unable to turn on/off flashlight
}

Caractéristiques de mise en œuvre de la plateforme

La classe Flashlight a été optimisée en fonction du système d’exploitation de l’appareil.

Niveau d’API 23 et plus

Avec les nouveaux niveaux d’API, le mode Torche permet d’activer ou de désactiver le flash de l’appareil.

Niveau d’API 22 et moins

Une texture de surface d’appareil photo est créée pour activer ou désactiver le FlashMode de l’unité d’appareil photo.

API

Retrouvez d’autres vidéos Xamarin sur Channel 9 et YouTube.