Xamarin.Essentials:Latarka
Klasa Flashlight ma możliwość włączenia lub wyłączenia błysku aparatu urządzenia, aby przekształcić go w latarki.
Rozpocznij
Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.
Aby uzyskać dostęp do funkcji latarki , wymagana jest następująca konfiguracja specyficzna dla platformy.
Wymagane są uprawnienia latarki i aparatu fotograficznego i muszą być skonfigurowane w projekcie systemu Android. Można to dodać w następujący sposób:
Otwórz plik AssemblyInfo.cs w folderze Właściwości i dodaj:
[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
[assembly: UsesPermission(Android.Manifest.Permission.Camera)]
LUB Zaktualizuj manifest systemu Android:
Otwórz plik AndroidManifest.xml w folderze Właściwości i dodaj następujący element w węźle manifestu.
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
Możesz też kliknąć prawym przyciskiem myszy projekt systemu Android i otworzyć właściwości projektu. W obszarze Manifest systemu Android znajdź wymagane uprawnienia: obszar i sprawdź uprawnienia FLASHLIGHT i CAMERA . Spowoduje to automatyczne zaktualizowanie pliku AndroidManifest.xml .
Dodanie tych uprawnień do sklepu Google Play spowoduje automatyczne odfiltrowywanie urządzeń bez określonego sprzętu. Możesz to obejść, dodając następujące informacje do pliku AssemblyInfo.cs w projekcie systemu Android:
[assembly: UsesFeature("android.hardware.camera", Required = false)]
[assembly: UsesFeature("android.hardware.camera.autofocus", Required = false)]
Ten interfejs API używa uprawnień środowiska uruchomieniowego w systemie Android. Upewnij się, że Xamarin.Essentials obsługa uprawnień została w pełni zainicjowana, a obsługa uprawnień jest skonfigurowana w aplikacji.
W projekcie MainLauncher
systemu Android lub dowolnym Activity
uruchomionym Xamarin.Essentials projekcie musi zostać zainicjowana w metodzie OnCreate
:
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 obsłużyć uprawnienia środowiska uruchomieniowego w systemie Android, Xamarin.Essentials musi otrzymać dowolny OnRequestPermissionsResult
. Dodaj następujący kod do wszystkich Activity
klas:
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);
}
Korzystanie z latarki
Dodaj odwołanie do Xamarin.Essentials klasy:
using Xamarin.Essentials;
Latarka może być włączona i wyłączona za pomocą TurnOnAsync
metod i 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
}
Specyfika implementacji platformy
Klasa Flashlight została zoptymalizowana na podstawie systemu operacyjnego urządzenia.
Poziom interfejsu API 23 i wyższe
Na nowszych poziomach interfejsu API tryb torch będzie używany do włączania lub wyłączania jednostki flash urządzenia.
Poziom interfejsu API 22 i niższy
Tekstura powierzchni aparatu jest tworzona w celu włączenia lub wyłączenia FlashMode
aparatu fotograficznego.
interfejs API
Powiązany film wideo
Więcej filmów na platformie Xamarin można znaleźć w witrynach Channel 9 i YouTube.