Bagikan melalui


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.

API

Temukan video Xamarin lainnya di Channel 9 dan YouTube.