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.
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);
}
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
}
El Feneri sınıfı, cihazın işletim sistemine göre iyileştirilmiştir.
Daha yeni API düzeylerinde, Cihazın flash birimini açmak veya kapatmak için Torç Modu kullanılacaktır.
Kamera ünitesini açmak veya kapatmak FlashMode
için bir kamera yüzeyi dokusu oluşturulur.
Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.