Aracılığıyla paylaş


El Feneri

Browse sample. Örneğe göz atın

Bu makalede .NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) IFlashlight arabirimini nasıl kullanabileceğiniz açıklanmaktadır. Bu arabirimle, el fenerine öykünmek için cihazın kamera yanıp sönme özelliğini açıp kapatabilirsiniz.

Arabirimin IFlashlight varsayılan uygulaması özelliği aracılığıyla Flashlight.Default kullanılabilir. IFlashlight Hem arabirim hem Flashlight de sınıf ad alanında Microsoft.Maui.Devices yer alır.

Başlarken

El feneri işlevine erişmek için aşağıdaki platforma özgü kurulum gereklidir.

Projenizde yapılandırmak için iki izin vardır: Flashlight ve Camera. Bu izinler aşağıdaki yollarla ayarlanabilir:

  • Derleme tabanlı izni ekleyin:

    Platforms/Android/MainApplication.cs dosyasını açın ve yönergelerin ardından using aşağıdaki derleme özniteliklerini ekleyin:

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

    - veya -

  • Android Bildirimini güncelleştirin:

    Platforms/Android/AndroidManifest.xml dosyasını açın ve düğüme manifest aşağıdakileri ekleyin:

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

    - veya -

  • Bildirim düzenleyicisinde Android Bildirimi'ni güncelleştirin:

    Visual Studio'da Platformlar/Android/AndroidManifest.xml dosyasına çift tıklayarak Android bildirim düzenleyicisini açın. Ardından Gerekli izinler'inaltında EL FENERI ve KAMERA izinlerini denetleyin. Bu, AndroidManifest.xml dosyasını otomatik olarak güncelleştirir.

Bu izinleri ayarlarsanız, Google Play belirli bir donanıma sahip olmayan cihazları otomatik olarak filtreler. Aşağıdaki derleme özniteliklerini Platforms/Android/MainApplication.cs dosyasına yönergelerin ardından using ekleyerek bu filtrelemeyi aşabilirsiniz:

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

El fenerini kullanma

El feneri ve TurnOffAsync() yöntemleri aracılığıyla TurnOnAsync() açılıp kapatılabilir. Aşağıdaki kod örneği, el fenerinin açık veya kapalı durumunu bir Switch denetime bağlar:

private async void FlashlightSwitch_Toggled(object sender, ToggledEventArgs e)
{
    try
    {
        if (FlashlightSwitch.IsToggled)
            await Flashlight.Default.TurnOnAsync();
        else
            await Flashlight.Default.TurnOffAsync();
    }
    catch (FeatureNotSupportedException ex)
    {
        // Handle not supported on device exception
    }
    catch (PermissionException ex)
    {
        // Handle permission exception
    }
    catch (Exception ex)
    {
        // Unable to turn on/off flashlight
    }
}

Ayrıca yöntemi IsSupportedAsync çağrılmadan önce cihazda bir el feneri olup olmadığını denetlemek için TurnOnAsync() çağrılabilir.

Platform farklılıkları

Bu bölümde, el feneriyle platforma özgü farklılıklar açıklanmaktadır.

Flashlight sınıfı, cihazın işletim sistemine göre iyileştirilmiştir.

API düzeyi 23 ve üzeri

Daha yeni API düzeylerinde, Cihazın flash birimini açmak veya kapatmak için Torç Modu kullanılacaktır.

API düzeyi 22 ve daha düşük

Kamera ünitesini açmak veya kapatmak FlashMode için bir kamera yüzeyi dokusu oluşturulur.