Xamarin.Essentials: Svítící

Třída svítící má možnost zapnout nebo vypnout Flash kamery zařízení, aby se přepnula na svítící.

Začínáme

Pokud chcete začít používat toto rozhraní API, přečtěte si příručku Začínáme pro, abyste měli jistotu, že je knihovna správně nainstalovaná a nastavená ve vašich projektech.

Pro přístup k funkci svítící je nutné použít následující nastavení pro konkrétní platformu.

Oprávnění svítící a Camera jsou povinná a musí být nakonfigurovaná v projektu pro Android. Dá se přidat následujícími způsoby:

Ve složce Properties (vlastnosti ) otevřete soubor AssemblyInfo. cs a přidejte:

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

NEBO aktualizovat manifest Android:

Ve složce Properties (vlastnosti ) otevřete soubor AndroidManifest.xml a přidejte následující dovnitř uzlu manifestu .

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

Nebo klikněte pravým tlačítkem na projekt pro Android a otevřete vlastnosti projektu. V části manifest pro Android Najděte požadovaná oprávnění: oblast a zaškrtněte oprávnění svítící a fotoaparát . Tím se automaticky aktualizuje soubor AndroidManifest.xml .

Přidáním těchto oprávnění Google Play automaticky odfiltrují zařízení bez konkrétního hardwaru. Můžete to obejít tak, že do souboru AssemblyInfo. cs v projektu pro Android přidáte následující:

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

Toto rozhraní API používá běhová oprávnění pro Android. Ujistěte se prosím, že Xamarin.Essentials je plně inicializovaný a že máte v aplikaci nastavené řízení oprávnění.

V projektu pro Android MainLauncherActivity , který je spuštěn, Xamarin.Essentials musí být inicializován v OnCreate metodě:

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
    //...
}    

Aby bylo možné zpracovat oprávnění běhového prostředí pro Android, Xamarin.Essentials musí přijmout všechny OnRequestPermissionsResult . Do všech tříd přidejte následující kód 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);
}

Použití Svítící

Do třídy přidejte odkaz Xamarin.Essentials :

using Xamarin.Essentials;

Svítící lze zapnout a vypnout prostřednictvím TurnOnAsyncTurnOffAsync metod a:

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
}

Specifické pro implementaci platformy

Třída svítící je optimalizovaná v závislosti na operačním systému zařízení.

Rozhraní API úrovně 23 a vyšší

V novějších úrovních rozhraní API se k zapnutí nebo vypnutí jednotky Flash v zařízení použije režim Torch .

Rozhraní API úrovně 22 a nižší

Pro zapnutí nebo vypnutí jednotky kamery se vytvoří textura povrchu kamery FlashMode .

rozhraní API

Další videa Xamarin najdete na webu Channel 9 a YouTube.