Mengelola Izin Pengguna
API Sensor menyediakan metode yang dapat Anda gunakan untuk meminta izin kepada pengguna untuk menggunakan sensor atau pengumpulan sensor.
Karena sensor dapat mengungkapkan informasi sensitif, Windows mengharuskan pengguna mengaktifkan sensor sebelum program Anda dapat mengakses data apa pun.
Anda mungkin ingin meminta izin ketika ingin menggunakan sensor yang statusnya saat ini adalah SENSOR_STATE_ACCESS_DENIED.
Untuk meminta izin, panggil metodeISensorManager::RequestPermissions. Saat Anda memanggil metode ini, Windows membuka kotak dialog Aktifkan sensor untuk meminta pengguna mengaktifkan sensor yang Anda minta. Kotak dialog ini memberi pengguna nama sensor yang Anda minta. Pengguna dapat memilih salah satu opsi berikut:
- Aktifkan sensor ini.
- Jangan aktifkan sensor ini.
- Buka Panel Kontrol untuk opsi lainnya.
Jika pengguna memilih Jangan aktifkan sensor ini, Windows tidak akan menampilkan kotak dialog Aktifkan sensor lagi untuk sensor tertentu tersebut, bahkan jika program Anda memanggil RequestPermissions. Jika pengguna memilih opsi lain, Windows akan mengizinkan kotak dialog ditampilkan saat diminta. Jika panggilan Anda ke RequestPermissions berisi beberapa sensor yang sebelumnya dipilih pengguna untuk dinonaktifkan, SENSOR API akan menghapus sensor ini dari daftar sensor yang dilihat pengguna.
Perilaku Modal atau Tidak Modal
Metode RequestPermissionsmengambil argumen Boolean yang menentukan apakah kotak dialog Aktifkan sensor ditampilkan sebagai jendela modal atau tanpa modal. Pengaturan ini juga memengaruhi apakah perilaku kode pengembalian kotak dialog sinkron atau asinkron.
Saat modal, kotak dialog memiliki fokus eksklusif di antara jendela aplikasi hingga pengguna memilih opsi, dan kode pengembalian HRESULT dari panggilan Anda ke RequestPermissions menunjukkan pilihan pengguna. Saat tanpa mode, kotak dialog tidak memiliki fokus eksklusif dan panggilan Anda ke RequestPermissions segera kembali. Dalam hal ini, kode pengembalian menunjukkan apakah metode berhasil, tetapi tidak dapat digunakan untuk memastikan pilihan pengguna. Anda kemudian dapat menentukan sensor mana yang telah diaktifkan dengan menangani peristiwa OnStateChanged dan memeriksa setiap sensor untuk SENSOR_STATE_READY.
Untuk informasi selengkapnya tentang kode pengembalian, lihat halaman referensi RequestPermissions.
Praktik Terbaik: Hindari Beberapa Pemanggilan Tanpa Mode ke RequestPermissions
Panggilan modeless berulang ke RequestPermissions akan menampilkan beberapa instans kotak dialog Aktifkan sensor-sensor ini, dan berpotensi membanjiri layar dengan kotak dialog, yang dapat mengakibatkan pengalaman pengguna yang buruk. Jika Anda berpikir bahwa setelah panggilan pertama Anda ke RequestPermissions, sensor lokasi lain mungkin diinstal yang memerlukan panggilan lainnya ke RequestPermissions, Anda harus memanggil RequestPermissions secara modal, atau menunggu sampai semua sensor lokasi diinstal untuk melakukan panggilan tanpa mode modal.
Topik terkait