Xamarin.Essentials: İhlal
Bu sınıf, cihazın kamera flashını açabilme veya kapatarak cihazı bir çöpe dönüştürebilme özelliğine sahiptir.
başlarken
Bu API'yi kullanmaya başlamak için kitaplığın projelerinize düzgün bir şekilde yük olduğundan ve ayar olduğundan emin olmak için başlangıç kılavuzunu okuyun.
İşlevsellik işlevine erişmek için aşağıdaki platforma özgü kurulum gereklidir.
Kamera ve Kamera izinleri gereklidir ve Android projesinde yapılandırılması gerekir. Bu, aşağıdaki yollarla eklenebilir:
Properties klasörünün altındaki AssemblyInfo.csdosyasını açın ve şunları ekleyin:
[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
[assembly: UsesPermission(Android.Manifest.Permission.Camera)]
VEYA Android Bildirimini Güncelleştir:
Özellikler AndroidManifest.xmldosyanın altındaki dosyanın adını açın ve bildirim düğümünün içine aşağıdakini ekleyin.
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
Veya Android projesine sağ tıklayın ve projenin özelliklerini açın. Android Bildirimi altında Gerekli izinler: alanına bakın ve SONRASI ile KAMERA izinlerini denetleyin. Bu, dosyanın AndroidManifest.xml güncelleştirmesi.
Bu izinler ek Google Play, belirli bir donanıma sahip olmayan cihazları otomatik olarak filtreler. Android projenizin AssemblyInfo.cs dosyasına aşağıdakini ekleyerek bu soruna bir son ve ardından bakabilirsiniz:
[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 tamamen Xamarin.Essentials başlatılmış olduğundan ve uygulamanıza izin işlemenin ayar olduğundan emin olur.
Android projesinin veya MainLauncher başlatılan herhangi bir ActivityXamarin.Essentials projesinin yönteminde başlatılması OnCreate gerekir:
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 Xamarin.Essentials herhangi bir al OnRequestPermissionsResult gerekir. Aşağıdaki kodu tüm sınıflara Activity 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);
}
Kullanma
sınıfınıza Xamarin.Essentials bir başvuru ekleyin:
using Xamarin.Essentials;
Cani, ve yöntemleri aracılığıyla açık ve TurnOnAsyncTurnOffAsync kapalı olabilir:
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
Cihaz işletim sistemi temel alınarak Sınıf Sınıfı en iyi duruma getirildi.
API Düzeyi 23 ve Daha Yüksek
Daha yeni API düzeylerinde, cihazın flash birimini açmak veya kapatmak için Yangın Modu kullanılır.
API Düzeyi 22 ve Daha Düşük
Kamera birimini açmak veya kapatmak için bir kamera FlashMode yüzeyi dokusu oluşturulur.
API
İlgili Video
Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.