Share via


Xamarin.Essentials:El feneri

El Feneri sınıfı, el fenerine dönüştürmek için cihazın kamera flaşını açma veya kapatma özelliğine sahiptir.

Kullanmaya başlayın

Bu API'yi kullanmaya başlamak için kitaplığın projelerinizde düzgün yüklendiğinden ve ayarlandığından emin olmak için Xamarin.Essentials kullanmaya başlama kılavuzunu okuyun.

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

El Feneri ve Kamera izinleri gereklidir ve Android projesinde yapılandırılmalıdır. Bu, aşağıdaki yollarla eklenebilir:

Özellikler klasörünün altındaki AssemblyInfo.cs dosyasını açın ve aşağıdakileri ekleyin:

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

VEYA Android Bildirimini Güncelleştir:

Özellikler klasörünün altındaki AndroidManifest.xml dosyasını açın ve bildirim düğümünün içine aşağıdakileri ekleyin.

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

Veya Android projesine sağ tıklayıp projenin özelliklerini açın. Android Bildirimi altında Gerekli izinler: alanını bulun ve EL FENERI ve KAMERA izinlerini denetleyin. Bu, AndroidManifest.xml dosyasını otomatik olarak güncelleştirir.

Google Play bu izinleri ekleyerek belirli bir donanım olmadan cihazları otomatik olarak filtreleyecektir. Android projenizdeki AssemblyInfo.cs dosyanıza aşağıdakileri ekleyerek bu sorunu çözebilirsiniz:

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

Bu API, Android'de çalışma zamanı izinlerini kullanır. Lütfen tam olarak başlatıldığından Xamarin.Essentials ve uygulamanızda izin işlemenin ayarlandığından emin olun.

Android projesinde MainLauncher veya başlatılan Xamarin.Essentials herhangi bir Activity proje yönteminde OnCreate başlatılmalıdır:

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

Android'de çalışma zamanı izinlerini işlemek için herhangi Xamarin.Essentials bir OnRequestPermissionsResultalmalıdır. Aşağıdaki kodu tüm Activity sınıflara ekleyin:

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);
}

El Feneri kullanma

Sınıfınızda için Xamarin.Essentials bir başvuru ekleyin:

using Xamarin.Essentials;

El feneri ve TurnOffAsync yöntemleri aracılığıyla TurnOnAsync açılıp kapatılabilir:

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
}

Platform Uygulama Özellikleri

El Feneri 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.

API

Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.