[Pembaruan: Detail Lebih Lanjut] Android 11 memblokir aplikasi kamera pihak ketiga agar tidak muncul di maksud pengambilan gambar/video

click fraud protection

Android 11 menerapkan perubahan yang akan mencegah aplikasi kamera pihak ketiga muncul dalam tindakan pengambilan gambar/video.

Pembaruan 1 (20/08/2020 @ 18:15 ET): Google telah memperbarui dokumentasi pengembangnya untuk menjelaskan mengapa aplikasi kamera pihak ketiga di Android 11 tidak dapat merespons tindakan maksud gambar/video implisit. Gulir ke bawah untuk informasi lebih lanjut. Artikel yang terbit pada 19 Agustus 2020 disimpan di bawah ini.

Android 11 mengubah cara aplikasi berinteraksi aplikasi kamera pihak ketiga di perangkat Anda, yang akan mencegahnya muncul di maksud pengambilan gambar/video. Di versi Android yang lebih lama, jika suatu aplikasi ingin memungkinkan pengguna mengambil gambar, aplikasi tersebut dapat menerapkan pengambilan gambar di dalam aplikasi (menggunakan berbagai API kamera Android) atau dapat mengirimkan maksud yang dapat ditangani oleh aplikasi kamera khusus untuk mengambil gambar alih-alih. Jika suatu aplikasi memutuskan untuk menggunakan opsi terakhir, pengguna pada rilis Android lama akan disajikan dialog disambiguasi untuk memilih aplikasi kamera pilihan mereka untuk mengambil gambar. Dialog umumnya menampilkan semua aplikasi kamera yang diinstal pada perangkat pengguna, termasuk aplikasi kamera pihak ketiga, selama aplikasi tersebut ditulis untuk merespons maksud tertentu. Namun, dengan Android 11, dialog hanya akan menyertakan aplikasi kamera bawaan yang sudah diinstal sebelumnya, kecuali jika pengembang secara khusus menargetkan aplikasi kamera pihak ketiga tertentu.

Perubahan ini secara efektif berarti bahwa, dalam banyak kasus, pengguna harus meluncurkan aplikasi kamera pihak ketiga secara manual ketika mereka ingin mengambil foto, sehingga membuat aplikasi kamera pihak ketiga menjadi kurang nyaman untuk digunakan. Hal ini juga akan membuat pengguna menyalahkan pengembang aplikasi kamera pihak ketiga ketika pengguna mengetahui aplikasi kamera favoritnya tidak dapat diluncurkan lagi dari aplikasi lain. Google menerapkan perubahan ini di Android 11 dengan mencegah aplikasi kamera pihak ketiga merespons tindakan maksud berikut:

  • android.media.action.VIDEO_CAPTURE
  • android.media.action.IMAGE_CAPTURE
  • android.media.action.IMAGE_CAPTURE_SECURE

kata Google bahwa perubahan ini telah diterapkan di Android 11 untuk melindungi privasi dan keamanan penggunanya. Perusahaan tidak merinci bagaimana caranya, namun kemungkinan beberapa aplikasi berbahaya telah menyamar sebagai aplikasi kamera untuk mendapatkan akses ke foto pengguna. Namun, perusahaan menyebutkan solusi bagi pengembang yang akan mengizinkan aplikasi untuk tetap meluncurkan aplikasi kamera pihak ketiga. Solusinya pada dasarnya mengharuskan pengembang untuk menargetkan aplikasi pihak ketiga tertentu pilihan mereka saat mengirimkan maksud. Misalnya, pengembang aplikasi pemindai dokumen dapat mengirimkan maksud eksplisit untuk diluncurkan Kamera Adobe Photoshop daripada mengirimkan maksud implisit untuk membuka pemilih kamera. Android 11 membuat pengembang bahkan tidak dapat menanyakan daftar aplikasi yang dapat merespons 3 hal di atas tindakan yang disengaja, yang berarti pengembang harus mengetahui terlebih dahulu aplikasi kamera pihak ketiga mana yang mereka inginkan mendukung.

Sumber: Perangkat Umum, Pengembang Android

Melalui: reddit

Terima kasih kepada Anggota Senior XDA AndroidDeveloperLB untuk tipnya!

Pembaruan 1: Google mengatakan perubahan ini untuk menjaga privasi

Google telah memperbarui halaman perubahan perilaku Android 11 dengan informasi baru di "tindakan maksud media memerlukan kamera default sistem" bagian (melalui Tepi). Perubahan tersebut, jelas Google, "dirancang untuk memastikan bahwa metadata lokasi EXIF ​​diproses dengan benar berdasarkan izin lokasi yang ditentukan dalam aplikasi mengirimkan maksudnya." Pada dasarnya, Google khawatir bahwa aplikasi yang belum diberikan akses lokasi eksplisit namun membuat pengguna membuka aplikasi kamera yang memiliki telah diberikan akses lokasi, dan karena foto yang dihasilkan yang diteruskan ke aplikasi dapat berisi lokasi EXIF metadata, maka aplikasi panggilan dapat melewati permintaan akses lokasi dengan membaca data lokasi dari foto. Jika suatu aplikasi mencoba melakukan hal ini di Android 11, aplikasi tersebut perlu mendeklarasikannya ACCESS_MEDIA_LOCATION sebaik ACCESS_COARSE_LOCATION atau ACCESS_FINE_LOCATION izin untuk membaca metadata lokasi EXIF. (Sebagai catatan, Google menutup celah akses lokasi lainnya di Android 10 dengan mengharuskan aplikasi meminta ACCESS_MEDIA_LOCATION izin jika aplikasi mencoba mengambil metadata EXIF ​​​​yang belum disunting dari foto.)

Meskipun perubahan perilaku ini akan memengaruhi kemampuan aplikasi untuk meluncurkan aplikasi kamera default yang ditentukan pengguna karena usia dan frekuensi penggunaan aplikasi tersebut. Tindakan maksud yang disebutkan di atas adalah, Google mencatat bahwa perubahan tersebut tidak memengaruhi semua tindakan maksud yang dapat meluncurkan aplikasi kamera default yang ditentukan pengguna, seperti sebagai: android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE, atau android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA. Namun, maksud ini tidak memiliki tujuan yang sama, karena hanya meluncurkan aplikasi kamera default dan tidak mengizinkan gambar dikirim kembali ke aplikasi panggilan.