Catatan: Halaman ini merujuk ke class Camera, yang sudah tidak digunakan lagi. Sebaiknya gunakan CameraX atau, untuk kasus penggunaan tertentu, gunakan Camera2. CameraX dan Camera2 mendukung Android 5.0 (level API 21) dan versi yang lebih baru.
Tutorial ini menjelaskan cara mengambil foto dengan mendelegasikan tugas ke aplikasi kamera lain di perangkat. (Jika Anda ingin membuat fungsionalitas kamera sendiri, lihat Mengontrol kamera.)
Misalkan Anda mengimplementasikan layanan cuaca crowd-sourced yang membuat peta cuaca global dengan memadukan foto-foto langit yang diambil oleh perangkat yang menjalankan aplikasi klien. Mengintegrasikan foto hanyalah sebagian kecil dari tugas aplikasi Anda. Anda ingin mengambil foto tanpa repot, bukan menemukan kembali teknologi kamera. Untungnya, sebagian besar perangkat Android sudah disertai dengan minimal satu aplikasi kamera. Dalam tutorial ini, Anda akan mempelajari bagaimana aplikasi tersebut mengambil foto untuk Anda.
Meminta fitur kamera
Jika mengambil foto merupakan fungsi pokok aplikasi Anda, maka batasi visibilitasnya di
Google Play ke perangkat yang memiliki kamera. Untuk menyatakan bahwa aplikasi Anda bergantung pada ketersediaan
kamera, tempatkan tag
<uses-feature>
dalam
file manifes Anda:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
Jika aplikasi Anda menggunakan kamera, tetapi tidak mengharuskan ketersediaan kamera agar dapat berfungsi, setel
android:required
ke false
. Dengan demikian, Google Play akan memungkinkan perangkat
tanpa kamera untuk mendownload aplikasi Anda. Selanjutnya, Anda bertanggung jawab untuk memeriksa
ketersediaan kamera saat aplikasi diluncurkan dengan memanggil
hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)
.
Jika kamera tidak tersedia, Anda harus menonaktifkan fitur kamera.