Pemfilteran visibilitas paket di Android

Jika aplikasi menargetkan Android 11 (API level 30) atau yang lebih tinggi dan membuat kueri informasi tentang aplikasi lain yang diinstal di perangkat, sistem akan memfilter informasi ini secara default. Perilaku pemfilteran ini berarti bahwa aplikasi Anda tidak dapat mendeteksi semua aplikasi yang diinstal pada perangkat, yang membantu meminimalkan informasi yang berpotensi sensitif yang dapat diakses oleh aplikasi Anda, tetapi tidak perlu memenuhi kasus penggunaannya.

Selain itu, visibilitas paket yang difilter membantu app store seperti Google Play menilai privasi dan keamanan yang diberikan oleh aplikasi kepada pengguna. Misalnya, Google Play menganggap daftar aplikasi terinstal sebagai data pengguna yang bersifat pribadi dan sensitif.

Visibilitas aplikasi terbatas memengaruhi hasil yang ditampilkan oleh metode yang memberikan informasi tentang aplikasi lain, seperti queryIntentActivities(), getPackageInfo() , dan getInstalledApplications(). Visibilitas terbatas juga memengaruhi interaksi eksplisit dengan aplikasi lain, seperti memulai layanan aplikasi lain.

Beberapa paket otomatis terlihat. Aplikasi Anda selalu dapat mendeteksi paket tersebut dalam kuerinya untuk aplikasi terinstal lainnya. Untuk melihat paket lainnya, deklarasikan kebutuhan aplikasi Anda untuk meningkatkan visibilitas paket menggunakan elemen <queries>. Halaman kasus penggunaan memberikan contoh bagaimana Anda dapat memperluas visibilitas paket secara selektif. Alur kerja yang dijelaskan di sana memungkinkan Anda memenuhi skenario interaksi aplikasi umum sekaligus melindungi privasi pengguna.

Dalam kasus yang jarang terjadi, saat elemen <queries> tidak memberikan visibilitas paket yang memadai, Anda dapat menggunakan izin QUERY_ALL_PACKAGES. Jika Anda memublikasikan aplikasi di Google Play, penggunaan izin ini oleh aplikasi Anda akan memerlukan persetujuan.

Halaman tentang menguji perilaku visibilitas paket menawarkan saran tentang cara menguji perubahan perilaku berdasarkan visibilitas paket saat aplikasi bergantung pada interaksi dengan aplikasi lain.

Referensi lainnya

Untuk mempelajari visibilitas paket di Android lebih lanjut, lihat materi berikut:

Postingan blog