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 OnRequestPermissionsResult
almalı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
İlgili Video
Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.