Xamarin.Essentials:Baterka
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 oprávnění fotoaparátu 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.