Xamarin.Essentials:Baterku

Třída baterek má možnost zapnout nebo vypnout fotoaparát zařízení blesk, aby ho přepnul na baterku.

Začínáme

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

Pro přístup k funkcím Baterky je vyžadováno následující nastavení specifické pro platformu.

Vyžaduje se baterka a Kamera oprávnění a musí být nakonfigurovaná v projektu Android. Můžete ho přidat následujícími způsoby:

Otevřete soubor AssemblyInfo.cs ve složce Vlastnosti a přidejte:

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

NEBO Aktualizovat manifest Androidu:

Otevřete soubor AndroidManifest.xml ve složce Vlastnosti a do uzlu manifestu přidejte následující kód.

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

Nebo klikněte pravým tlačítkem na projekt Androidu a otevřete vlastnosti projektu. V části Manifest Android najděte požadovaná oprávnění: oblast a zkontrolujte oprávnění FLASHLIGHT a CAMERA . Tím se automaticky aktualizuje soubor AndroidManifest.xml .

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

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

Toto rozhraní API používá oprávnění modulu runtime v Androidu. Ujistěte se, že Xamarin.Essentials je v aplikaci plně inicializováno a zpracování oprávnění.

V projektu MainLauncher Androidu nebo v libovolném Activity spuštěné Xamarin.Essentials aplikaci musí být inicializována OnCreate metoda:

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

Chcete-li zpracovávat oprávnění modulu runtime v Androidu, Xamarin.Essentials musí přijmout všechny OnRequestPermissionsResult. Do všech Activity tříd přidejte následující kód:

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í baterky

Přidejte do Xamarin.Essentials předmětu odkaz:

using Xamarin.Essentials;

Baterka se dá zapnout a vypnout pomocí TurnOnAsync a TurnOffAsync metod:

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
}

Specifika implementace platformy

Třída baterek byla optimalizována na základě operačního systému zařízení.

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

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

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

Textura povrchu kamery se vytvoří, aby se zapnula nebo vypnula FlashMode jednotka fotoaparátu.

rozhraní API

Další videa o Xamarinu najdete na Channel 9 a YouTube.