Udostępnij za pośrednictwem


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

Więcej filmów na platformie Xamarin można znaleźć w witrynach Channel 9 i YouTube.