Xamarin.Essentials:Senter
Kelas Senter memiliki kemampuan untuk menyalakan atau mematikan lampu kilat kamera perangkat untuk mengubahnya menjadi senter.
Memulai
Untuk mulai menggunakan API ini, baca panduan memulai untuk Xamarin.Essentials memastikan pustaka diinstal dan disiapkan dengan benar di proyek Anda.
Untuk mengakses fungsionalitas Senter , diperlukan penyiapan spesifik platform berikut.
Izin Senter dan Kamera diperlukan dan harus dikonfigurasi dalam proyek Android. Ini dapat ditambahkan dengan cara berikut:
Buka file AssemblyInfo.cs di bawah folder Properti dan tambahkan:
[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
[assembly: UsesPermission(Android.Manifest.Permission.Camera)]
ATAU Perbarui Manifes Android:
Buka file AndroidManifest.xml di bawah folder Properti dan tambahkan yang berikut ini di dalam node manifes.
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
Atau klik kanan pada proyek Android dan buka properti proyek. Di bawah Manifes Android, temukan area Izin yang diperlukan: dan periksa izin FLASHLIGHT dan KAMERA . Ini akan secara otomatis memperbarui file AndroidManifest.xml .
Dengan menambahkan izin ini, Google Play akan secara otomatis memfilter perangkat tanpa perangkat keras tertentu. Anda bisa mendapatkan sekitar ini dengan menambahkan yang berikut ke file AssemblyInfo.cs Anda di proyek Android Anda:
[assembly: UsesFeature("android.hardware.camera", Required = false)]
[assembly: UsesFeature("android.hardware.camera.autofocus", Required = false)]
API ini menggunakan izin runtime di Android. Pastikan bahwa Xamarin.Essentials sepenuhnya diinisialisasi dan penanganan izin disiapkan di aplikasi Anda.
Dalam proyek MainLauncher
Android atau apa pun Activity
yang diluncurkan Xamarin.Essentials harus diinisialisasi dalam OnCreate
metode :
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
//...
}
Untuk menangani izin runtime di Android, Xamarin.Essentials harus menerima apa pun OnRequestPermissionsResult
. Tambahkan kode berikut ke semua Activity
kelas:
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);
}
Menggunakan Senter
Tambahkan referensi ke Xamarin.Essentials di kelas Anda:
using Xamarin.Essentials;
Senter dapat dihidupkan dan dimatikan melalui TurnOnAsync
metode dan TurnOffAsync
:
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
}
Spesifikasi Implementasi Platform
Kelas Senter telah dioptimalkan berdasarkan sistem operasi perangkat.
API Level 23 dan Yang Lebih Tinggi
Pada tingkat API yang lebih baru, Mode Obor akan digunakan untuk menyalakan atau mematikan unit lampu kilat perangkat.
API Level 22 dan Lower
Tekstur permukaan kamera dibuat untuk menyalakan atau mematikan FlashMode
unit kamera.