Peran Android

Peran adalah nama unik dalam sistem yang terkait dengan izin dan hak istimewa tertentu. Aplikasi dapat meminta untuk memegang peran tertentu melalui Android API, khususnya dengan memanggil metode di class RoleManager.

Lihat daftar berikut untuk mengetahui peran yang tersedia dan persyaratan yang sesuai:

Peran Persyaratan
ASSISTANT Setidaknya salah satu dari:
  • Aplikasi memiliki aktivitas yang melakukan tindakan bantuan, mengingat informasi tentang konteks pengguna saat mereka meminta bantuan (misalnya, nama paket untuk aplikasi latar depan saat ini dan informasi kontekstualnya).
  • Aplikasi memiliki layanan interaksi suara yang selalu aktif yang dibatasi oleh izin android.permission.BIND_VOICE_INTERACTION, yang dapat melakukan pengenalan suara dan menghosting sesi interaksi suara aktif. Selain itu, aplikasi memiliki tanda eksplisit yang menunjukkan bahwa layanan dapat menangani tindakan bantuan.
BROWSER Semua:
  • Aplikasi memiliki aktivitas yang dapat dipanggil aplikasi melalui permintaan intent implisit, yang menampilkan halaman web yang sesuai dengan alamat http://.
  • Aplikasi perlu menangani navigasi antar-link. Artinya, jika pengguna melihat halaman web dan mengklik alamat http:// dalam teks, aplikasi harus dapat menampilkan konten yang sesuai dengan link yang dipilih tanpa intervensi pengguna tambahan.
  • Aplikasi harus dapat memberikan informasi geolokasi perangkat saat ini ke halaman web saat diminta dan pengguna menyetujui permintaan tersebut.
DIALER Semua:
  • Aplikasi memiliki aktivitas yang dapat dipanggil oleh aplikasi melalui permintaan intent implisit, yang menyediakan antarmuka pengguna dalam panggilan saat perangkat sedang melakukan panggilan.
  • Aplikasi dapat menangani maksud panggilan masuk, menampilkan informasi yang terkait dengan panggilan (misalnya, nomor telepon penelepon) kepada pengguna, dan memungkinkan pengguna menjawab atau menolak panggilan.
  • Aplikasi ini memberi pengguna cara untuk memulai panggilan dan melihat histori panggilan di perangkat mereka.
SMS Semua:
  • Aplikasi memenuhi semua persyaratan untuk aplikasi SMS.
  • Aplikasi memiliki aktivitas yang dapat dipanggil aplikasi melalui permintaan intent implisit, yang dapat mengirim pesan ke nomor telepon.
  • Aplikasi memiliki layanan yang dibatasi oleh izin android.permission.SEND_RESPOND_VIA_MESSAGE dan dapat dipanggil oleh intent implisit, yang dapat mengirimkan pesan yang diterima dari aplikasi Telepon saat pengguna memilih untuk merespons melalui pesan selama panggilan masuk. Aplikasi dapat mengirimkan pesan melalui sistem pesannya sendiri.
  • Aplikasi memiliki dua penerima siaran, satu yang diatur oleh izin android.permission.BROADCAST_SMS dan satu yang diatur oleh izin android.permission.BROADCAST_WAP_PUSH, yang masing-masing dapat memproses pesan SMS dan MMS berbasis teks yang dikirim ke perangkat. Aplikasi kemudian bertanggung jawab untuk menulis pesan ke penyedia SMS dan memberi tahu pengguna.
EMERGENCY Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Aplikasi memiliki aktivitas yang menampilkan informasi darurat pengguna. Siapa pun dapat membuka layar ini melalui tombol Darurat di aktivitas Pemanggil Darurat.
HOME Aplikasi memiliki aktivitas yang dapat meluncurkan layar utama saat pengguna menekan tombol layar utama. Layar utama harus menampilkan ikon aplikasi, widget, dan mendukung navigasi berdasarkan tombol atau gestur (misalnya, menggeser ke atas untuk melihat semua aplikasi).
CALL_REDIRECTION Aplikasi memiliki layanan yang di-gate oleh izin android.permission.BIND_CALL_REDIRECTION_SERVICE, yang dapat diikat oleh framework telekomunikasi. Layanan menerima nomor telepon keluar dari framework telekomunikasi dan melakukan salah satu tindakan berikut:
  • Izinkan panggilan dilakukan apa adanya.
  • Ubah nomor keluar untuk merutekan melalui nomor proxy.
  • Membatalkan panggilan.
CALL_SCREENING Aplikasi memiliki layanan yang dibatasi oleh izin android.permission.BIND_SCREENING_SERVICE, yang menjalankan dua fungsi:
  • Pemblokiran dan penyaringan panggilan: Layanan dapat memilih panggilan mana yang harus dikirim ke aplikasi telepon di ponsel (dan berpotensi berdering, mengingat DND atau volume), dan panggilan mana yang harus dikirim ke pesan suara secara diam-diam.
  • Identifikasi panggilan: Layanan dapat mengidentifikasi dan menampilkan informasi tentang panggilan melalui antarmuka pengguna.
SYSTEM_GALLERY Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan UI bagi pengguna untuk menyimpan, mengatur, dan menampilkan video dan gambar mereka.
SYSTEM_AUTOMOTIVE_CLUSTER Semua:
  • Aplikasi ini adalah aplikasi sistem di Automotive.
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan kemampuan untuk tampilan cluster otomotif (biasanya berdekatan dengan setir) bagi pengguna untuk menjawab panggilan telepon dan mengakses daftar kontak dan log panggilan.
COMPANION_DEVICE_WATCH Aplikasi dapat membuat permintaan untuk dikaitkan dengan dan mengelola perangkat smartwatch (dengan menggunakan API yang disediakan oleh class CompanionDeviceManager). Saat smartwatch dan aplikasi terhubung melalui UI yang disediakan oleh aplikasi, pengguna dapat mengelola smartwatch mereka dari aplikasi, termasuk menyinkronkan kontak dan kalender, serta mengelola notifikasi dan panggilan telepon.
SYSTEM_AUTOMOTIVE_PROJECTION Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memungkinkan layar ponsel diproyeksikan di layar dalam kendaraan. Dengan aplikasi ini, pengemudi dapat mengakses dan mengontrol aplikasi di ponsel Android, termasuk musik, navigasi, panggilan telepon, dan penelusuran, menggunakan mekanisme input di kendaraan, termasuk sentuhan, kontrol setir, dan perintah suara.
SYSTEM_SHELL Semua:
  • Aplikasi tersebut adalah aplikasi sistem yang diberi Process.SHELL_UID UID.
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan antarmuka yang berfungsi di tingkat command line sehingga pengguna dapat berinteraksi dengan Android OS. Misalnya, menampilkan isi folder atau meluncurkan aplikasi. Perintah shell dapat dieksekusi secara terprogram oleh aplikasi (jika izin yang diperlukan telah diberikan), atau dari alat ADB.
SYSTEM_CONTACTS Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan UI bagi pengguna untuk mengelola kontak mereka (misalnya, melihat, membagikan, menambahkan, menghapus, atau menelusuri kontak). Aplikasi memperbarui penyedia Kontak saat pengguna memperbarui kontak dari aplikasi. Pengguna juga dapat menelepon, mengirim email, atau mengirim pesan teks ke kontak mereka dari aplikasi.
SYSTEM_SPEECH_RECOGNIZER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi menyediakan layanan yang dapat melakukan pengenalan ucapan.
  • Saat menerima streaming mikrofon live dari aplikasi lain untuk pengenalan ucapan, aplikasi akan mengatribusikan penggunaan mikrofon dengan benar ke aplikasi pemanggil dan memperbarui statistik operasi aplikasi dengan tepat.
SYSTEM_WIFI_COEX_MANAGER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi memiliki layanan yang secara dinamis menetapkan daftar saluran Wi-Fi yang sebaiknya tidak digunakan perangkat karena interferensi seluler.
SYSTEM_WELLBEING Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi harus memberikan kemampuan kepada pengguna untuk mengurangi gangguan dan memberikan statistik kepada pengguna tentang cara mereka menggunakan perangkatnya (misalnya, waktu layar mereka per minggu).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi harus menampilkan notifikasi pendahuluan kepada pengguna di perangkat TV. Aplikasi juga harus menampilkan notifikasi aktif saat ini saat intent android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL dikirim (dari SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi harus dapat mendeteksi perangkat periferal di sekitarnya. Aplikasi harus memiliki UI tempat pengguna dapat mengonfirmasi bahwa perangkat periferal tertentu harus dikaitkan dengan dan dikelola oleh aplikasi. Saat pengguna mengonfirmasi, aplikasi pengelola memberikan izin aplikasi terkait untuk mengakses perangkat periferal (misalnya, nama, alamat, kelas, dan status pengaitan) dan dapat memulai proses pengaitan.
SYSTEM_DOCUMENT_MANAGER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi memiliki aktivitas yang memungkinkan pengguna mengakses dokumen yang ada dan membuat dokumen baru di perangkat.
  • Aplikasi harus memenuhi semua persyaratan yang diuraikan dalam bagian CDD Android 2.2.3. Software di bawah judul [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Aplikasi memiliki layanan yang dibatasi oleh android.permission.ACTIVITY_RECOGNITION, yang dapat melakukan pengenalan aktivitas (misalnya, berlari atau bersepeda).
SYSTEM_UI Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi memiliki antarmuka bagi pengguna untuk berinteraksi dengan ponsel mereka. Misalnya, layar utama ponsel, navigasi, aplikasi terbaru, setelan cepat, kolom notifikasi, layar kunci, kontrol volume.
SYSTEM_TELEVISION_REMOTE_SERVICE Semua:
  • Aplikasi ini adalah aplikasi sistem di Android TV.
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi memiliki layanan yang dapat berkomunikasi dengan perangkat HID kontrol remote TV (misalnya, melalui BLE), menyuntikkan peristiwa (misalnya, klik tombol), dan mengirim data lain (misalnya, streaming audio dari mikrofon bawaan remote) ke platform.
SYSTEM_UI_INTELLIGENCE Semua:
  • Menjadi layanan yang sudah diinstal sebelumnya yang menyediakan, melalui API framework (API publik atau sistem), prosesor cerdas di perangkat untuk fitur UI sistem (misalnya, memprediksi dan menampilkan aplikasi berikutnya untuk pengguna).
  • Layanan harus memenuhi semua persyaratan yang diuraikan dalam bagian CDD Android 9.8.6 Perekaman Konten.
  • Layanan tidak boleh memiliki izin android.permission.INTERNET. Sebagai gantinya, aplikasi harus mengakses Internet melalui API yang jelas dalam project open source.
  • Layanan tidak dapat terikat ke aplikasi, kecuali untuk aplikasi sistem berikut: Bluetooth, Kontak, Media, Telepon, SystemUI, dan komponen yang menyediakan API Internet. Setiap binding yang diizinkan harus disiapkan secara eksplisit melalui konfigurasi <allow-association> di konfigurasi sistem.
  • Layanan tidak dapat membagikan data ke aplikasi kecuali ada tindakan pengguna langsung (misalnya, pengguna secara eksplisit menekan tombol setiap kali data dibagikan).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Semua:
  • Identik dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali layanan yang sudah diinstal sebelumnya menyediakan prosesor cerdas di perangkat untuk audio sekitar (misalnya, mengenali lagu yang diputar di dekat perangkat).
SYSTEM_AUDIO_INTELLIGENCE Semua:
  • Identik dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali layanan bawaan menyediakan prosesor cerdas di perangkat untuk audio (misalnya, memberi teks pada video, podcast, panggilan telepon, panggilan video, dan pesan audio).
SYSTEM_NOTIFICATION_INTELLIGENCE Semua:
  • Identik dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali layanan yang sudah diinstal sebelumnya menyediakan prosesor cerdas di perangkat untuk notifikasi (misalnya, menyarankan balasan dan tindakan untuk notifikasi pesan).
SYSTEM_TEXT_INTELLIGENCE Semua:
  • Identik dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali layanan yang sudah diinstal sebelumnya menyediakan prosesor cerdas di perangkat untuk teks (misalnya, menyediakan terjemahan langsung atau isi otomatis).
SYSTEM_VISUAL_INTELLIGENCE Semua:
  • Identik dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali layanan yang sudah diinstal sebelumnya menyediakan pemroses cerdas di perangkat untuk fitur visual yang melibatkan analisis data kamera. Misalnya, menjaga layar ponsel tetap aktif saat pengguna melihatnya atau menentukan orientasi layar yang ideal berdasarkan orientasi wajah pengguna dari kamera depan di perangkat.
COMPANION_DEVICE_APP_STREAMING Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Kasus penggunaan yang diizinkan:
    • Streaming, transmisi, atau pencerminan aplikasi, yang memungkinkan streaming, transmisi, atau pencerminan, dari perangkat berteknologi Android seperti ponsel atau tablet ke komputer desktop atau laptop.
  • Saat membuat koneksi awal dari perangkat A ke perangkat B:
    • Penyambungan HARUS diizinkan oleh kode satu kali yang ditampilkan di perangkat sumber (A) dan dimasukkan di perangkat yang terhubung (B). Atau, jika kedua perangkat memiliki setidaknya satu akun yang cocok di Android AccountManager, pengguna DAPAT mengonfirmasi penyambungan dengan memasukkan sandi akun di perangkat yang terhubung (B).
    • Kedua perangkat harus berdekatan 1 satu sama lain selama pemasangan.
  • Kedua perangkat harus berdekatan 1 satu sama lain saat melakukan streaming.
  • Aplikasi dapat membuat dan mengelola saluran komunikasi dengan perangkat yang terhubung sehingga perangkat dapat bertukar data. Aplikasi dan perangkat yang terhubung HARUS berhasil mengautentikasi satu sama lain (misalnya, dengan membuktikan pengetahuan mereka tentang kunci bersama) untuk membuat saluran komunikasi ini. Saluran komunikasi HARUS memiliki perlindungan enkripsi end-to-end.
  • Aplikasi dapat mengirim notifikasi dari perangkat sumber (A) ke perangkat terhubung (B) agar pengguna dapat menindaklanjuti notifikasi di perangkat terhubung (B).
  • Dapat melakukan streaming metadata yang diperlukan untuk streaming aplikasi ke perangkat yang terhubung (B), seperti daftar aplikasi yang tersedia di perangkat sumber (A).
  • Dapat melakukan streaming aplikasi dari perangkat sumber (A) ke perangkat yang terhubung (B) setelah pengguna menunjukkan preferensinya untuk melakukannya dengan izin eksplisit (baik di perangkat sumber (A) maupun di perangkat yang terhubung (B)).
  • Dapat memutar ulang (menyuntikkan) peristiwa yang terjadi pada aplikasi yang di-streaming di perangkat terhubung (B) kembali ke perangkat sumber (A). Misalnya, memutar ulang peristiwa sentuh pada perangkat yang terhubung (B) di koordinat yang sama seperti pada perangkat sumber (A), atau memutar ulang peristiwa input yang terjadi pada perangkat yang terhubung (B) dengan semantik input yang sama seperti pada perangkat sumber (A).
  • Aplikasi dapat mengganti aliran mikrofon perangkat sumber dengan aliran mikrofon perangkat yang terhubung saat aplikasi yang di-streaming menggunakan mikrofon.
  • Aplikasi merekam audio dari perangkat sumber (A) dan menstreamingkannya ke perangkat yang terhubung (B).
  • SEBAIKNYA blokir akses ke aplikasi setelan dan app store dari perangkat terhubung (B).
  • Mulai Android 16, pengambilan screenshot dan pembacaan layar konten sensitif, seperti jendela dan permukaan yang aman, HARUS dicegah di perangkat yang terhubung (B).
  • HARUS memverifikasi integritas build OS perangkat yang terhubung (misalnya, dengan menggunakan pengesahan perangkat seperti pada VerifiedBootState).
  • Hanya streaming aplikasi jika hanya ada satu akun yang cocok di registri akun di perangkat, (misalnya, class AccountManager di Android) di kedua perangkat. Jika tidak demikian, streaming HARUS diizinkan dengan kode sekali pakai yang ditampilkan di perangkat sumber (A) dan dimasukkan di perangkat yang terhubung (B). Perhatikan bahwa untuk perangkat yang mendukung multi-pengguna (dan bukan multi-akun) dengan isolasi data yang andal yang sama seperti di multi-pengguna Android, pengguna dihitung sebagai perangkat.
  • HARUS menghentikan streaming dan memutus koneksi dari perangkat yang terhubung (B) segera jika autentikasi akun di perangkat yang terhubung (B) berakhir atau dibatalkan.
  • HARUS menghentikan streaming dan berhenti terhubung dari perangkat yang terhubung (B) setelah waktu tunggu tidak ada aktivitas perangkat yang terhubung (B) yang menampilkan konten layar berakhir. MUNGKIN membuat layar perangkat yang terhubung tetap menyala untuk kasus seperti WakeLock, yang membuat layar perangkat Android tetap menyala. Waktu tunggu tidak ada aktivitas HARUS ada. Jika perangkat terhubung (B) tidak memiliki waktu tunggu tidak ada aktivitas dengan sendirinya, waktu tunggu tidak ada aktivitas maksimum 5 menit HARUS digunakan.
  • Jika perangkat sumber (A) menggunakan Faktor Pengetahuan Layar Kunci (LSKF), saat layar dikunci, aplikasi TIDAK BOLEH melakukan streaming aplikasi ke perangkat terhubung (B) kecuali jika perangkat terhubung (B) memiliki layar kunci dan dibuka kuncinya.
  • Jika perangkat sumber (A) dikelola oleh admin, aplikasi HARUS mematuhi kebijakan yang ditetapkan oleh admin tentang mengaktifkan atau menonaktifkan streaming ke perangkat di sekitar (misalnya, menggunakan DevicePolicyManager setelan di Android).
  • HARUS memastikan bahwa tampilan jarak jauh dan semua sumber peristiwa input jarak jauh milik perangkat logis yang sama (misalnya, tampilan jarak jauh dan keyboard yang terhubung) dari perspektif pengguna dan peristiwa dirutekan dengan tepat.
  • Pengguna HARUS dapat mengakhiri streaming dari perangkat sumber (A), misalnya, dengan menggunakan tombol di notifikasi persisten. Perilaku ini dibatasi oleh layar kunci, jika perangkat sumber (A) telah menyetel kunci layar. HARUS menampilkan pemicu persisten ini di perangkat sumber (A) yang selalu terlihat dan di atas lipatan.
  • HARUS menampilkan penawaran di perangkat sumber (A) saat streaming berlangsung di perangkat lain, seperti ikon di status bar atau notifikasi persisten.
DEVICE_POLICY_MANAGEMENT Semua:
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi. Aplikasi tidak dapat meminta peran ini karena dimaksudkan untuk diberikan langsung ke nama paket yang ditentukan oleh OEM saat perangkat dikirim.
  • Aplikasi harus dapat menyediakan profil terkelola (pemilik profil) atau perangkat terkelola (pemilik perangkat), termasuk mendownload dan menginstal Klien Kebijakan Perangkat yang sesuai untuk menjadi pemilik perangkat/profil jika diperlukan.
  • Aplikasi dapat memperbarui resource secara dinamis, seperti string, drawable yang digunakan untuk pengelolaan kebijakan perangkat.
  • Aplikasi dapat berupa aplikasi sistem yang sudah diinstal sebelumnya atau didownload dan diinstal, sebelum penyediaan.
  • Untuk kasus penyediaan pemilik profil, saat aplikasi pemegang peran diinstal di pengguna Android tertentu, aplikasi tersebut harus diinstal di semua profil yang berlaku untuk pengguna tersebut.
SYSTEM_APP_PROTECTION_SERVICE Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Satu-satunya tujuan aplikasi ini adalah mendeteksi aplikasi yang berpotensi berbahaya (aplikasi yang dapat membahayakan pengguna, data pengguna, atau perangkat seperti aplikasi trojan, phishing, dan spyware) atau Software Seluler yang Tidak Diinginkan.
  • Aplikasi harus memenuhi semua persyaratan yang diuraikan di bagian 9.8.6 CDD Android. Data tingkat OS dan sekitar.
  • Aplikasi tidak boleh mendeklarasikan izin normal android.permission.INTERNET. Sebagai gantinya, aplikasi harus mengakses Internet melalui API yang jelas dalam project open source.
  • Aplikasi tidak boleh terikat ke aplikasi, kecuali untuk aplikasi sistem berikut: Pengontrol Izin, dan komponen yang menyediakan Telephony dan Internet API. Setiap binding yang diizinkan harus disiapkan secara eksplisit melalui konfigurasi <allow-association> di konfigurasi sistem.
  • Aplikasi tidak boleh membagikan data ke aplikasi lain kecuali ada tindakan langsung dari pengguna (misalnya, pengguna secara eksplisit menekan tombol setiap kali data dibagikan).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi harus mentransfer data kalender dari ponsel iOS atau Android pengguna ke perangkat Android Auto. Perangkat Android Auto harus menyimpan data kalender ini di penyedia kalender.
  • Aplikasi harus menyediakan komponen UI di ponsel yang dapat digunakan pengguna untuk mengaktifkan sinkronisasi kalender dan memilih kalender yang akan disinkronkan. Aplikasi harus menyediakan komponen UI di ponsel yang dapat digunakan pengguna untuk menonaktifkan sinkronisasi kalender.
  • Aplikasi harus beroperasi tanpa koneksi internet. Misalnya, dengan menggunakan koneksi kabel atau nirkabel langsung.
AUTOMOTIVE_NAVIGATION Semua:
  • Aplikasi memiliki aktivitas yang dapat dipanggil aplikasi melalui permintaan intent implisit, yang menampilkan lokasi dan lingkungan pengguna saat ini.
  • Aplikasi memiliki aktivitas yang dapat dipanggil aplikasi melalui permintaan intent implisit, yang memungkinkan pengguna membuka geo-lokasi tertentu.
  • Aplikasi memiliki aktivitas yang diluncurkan di cluster instrumen saat aplikasi memegang fokus navigasi. Aktivitas harus menampilkan lokasi pengguna saat ini, lingkungan sekitar, dan memungkinkan pengguna membuka geolokasi tertentu.
COMPANION_DEVICE_COMPUTER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Memungkinkan pengguna mencerminkan notifikasi dan mengakses foto serta media dari ponsel di komputer yang terhubung.
SYSTEM_SETTINGS_INTELLIGENCE Setidaknya salah satu dari:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Memiliki layanan yang menyediakan fitur kecerdasan untuk aplikasi Setelan, seperti saran dan penelusuran.
NOTES Semua:
COMPANION_DEVICE_GLASSES Aplikasi dapat membuat permintaan untuk dikaitkan dengan dan mengelola perangkat kacamata (dengan menggunakan API yang disediakan oleh class CompanionDeviceManager). Saat perangkat kacamata dan aplikasi terhubung menggunakan UI yang disediakan oleh CDM, pengguna dapat mengelola perangkat kacamata mereka dengan memberikan akses ke kontak, dan izin untuk mengelola notifikasi dan panggilan telepon.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Kasus penggunaan yang diizinkan:
    • Streaming aplikasi dari perangkat berteknologi Android seperti ponsel atau tablet ke kendaraan.
    • Streaming aplikasi dari perangkat berteknologi Android seperti ponsel atau tablet ke perangkat XR.
  • Saat membuat koneksi awal dari perangkat A ke perangkat B:
    • Penyambungan HARUS diizinkan oleh kode satu kali yang ditampilkan di perangkat sumber (A) dan dimasukkan di perangkat yang terhubung (B). Atau, jika kedua perangkat memiliki setidaknya satu akun yang cocok di Android AccountManager, pengguna DAPAT mengonfirmasi penyambungan dengan memasukkan sandi akun di perangkat yang terhubung (B).
    • Kedua perangkat harus berdekatan 1 satu sama lain selama pemasangan.
  • Kedua perangkat harus berdekatan 1 satu sama lain saat melakukan streaming.
  • Aplikasi dapat membuat dan mengelola saluran komunikasi dengan perangkat yang terhubung sehingga perangkat dapat bertukar data. Aplikasi dan perangkat yang terhubung HARUS berhasil mengautentikasi satu sama lain (misalnya, dengan membuktikan pengetahuan mereka tentang kunci bersama) untuk membuat saluran komunikasi ini. Saluran komunikasi HARUS memiliki perlindungan enkripsi end-to-end.
  • Aplikasi dapat mengirim notifikasi dari perangkat sumber (A) ke perangkat terhubung (B) agar pengguna dapat menindaklanjuti notifikasi di perangkat terhubung (B).
  • Dapat melakukan streaming metadata yang diperlukan untuk streaming aplikasi ke perangkat yang terhubung (B), seperti daftar aplikasi yang tersedia di perangkat sumber (A).
  • Dapat melakukan streaming aplikasi dari perangkat sumber (A) ke perangkat yang terhubung (B) setelah pengguna menunjukkan preferensinya untuk melakukannya dengan izin eksplisit (baik di perangkat sumber (A) maupun di perangkat yang terhubung (B)).
  • Dapat memutar ulang (menyuntikkan) peristiwa yang terjadi pada aplikasi yang di-streaming di perangkat terhubung (B) kembali ke perangkat sumber (A). Misalnya, memutar ulang peristiwa sentuh pada perangkat yang terhubung (B) di koordinat yang sama seperti pada perangkat sumber (A), atau memutar ulang peristiwa input yang terjadi pada perangkat yang terhubung (B) dengan semantik input yang sama seperti pada perangkat sumber (A).
  • Aplikasi dapat mengganti aliran mikrofon perangkat sumber dengan aliran mikrofon perangkat yang terhubung saat aplikasi yang di-streaming menggunakan mikrofon.
  • Aplikasi merekam audio dari perangkat sumber (A) dan menstreamingkannya ke perangkat yang terhubung (B).
  • SEBAIKNYA blokir akses ke aplikasi setelan dan app store dari perangkat terhubung (B).
  • Mulai Android 25Q2 Pengambilan screenshot dan pembacaan layar konten sensitif, seperti jendela dan permukaan yang aman, HARUS dicegah di perangkat yang terhubung (B).
  • HARUS memverifikasi integritas build OS perangkat yang terhubung (misalnya, dengan menggunakan pengesahan perangkat seperti pada VerifiedBootState).
  • Hanya streaming aplikasi jika hanya ada satu akun yang cocok di registri akun di perangkat, (misalnya, class AccountManager di Android) di kedua perangkat. Jika tidak demikian, streaming HARUS diizinkan dengan kode sekali pakai yang ditampilkan di perangkat sumber (A) dan dimasukkan di perangkat yang terhubung (B). Perhatikan bahwa untuk perangkat yang mendukung multi-pengguna (dan bukan multi-akun) dengan isolasi data yang andal yang sama seperti di multi-pengguna Android, pengguna dihitung sebagai perangkat.
  • HARUS menghentikan streaming dan memutus koneksi dari perangkat yang terhubung (B) segera jika autentikasi akun di perangkat yang terhubung (B) berakhir atau dibatalkan.
  • HARUS menghentikan streaming dan berhenti terhubung dari perangkat yang terhubung (B) setelah waktu tunggu tidak ada aktivitas perangkat yang terhubung (B) yang menampilkan konten layar berakhir. MUNGKIN membuat layar perangkat yang terhubung tetap menyala untuk kasus seperti WakeLock, yang membuat layar perangkat Android tetap menyala. Waktu tunggu tidak ada aktivitas HARUS ada. Jika perangkat terhubung (B) tidak memiliki waktu tunggu tidak ada aktivitas dengan sendirinya, waktu tunggu tidak ada aktivitas maksimum 5 menit HARUS digunakan.
  • Jika perangkat sumber (A) menggunakan Faktor Pengetahuan Layar Kunci (LSKF), saat layar dikunci, aplikasi TIDAK BOLEH melakukan streaming aplikasi ke perangkat terhubung (B) kecuali jika perangkat terhubung (B) memiliki layar kunci dan dibuka kuncinya.
  • Jika perangkat sumber (A) dikelola oleh admin, aplikasi HARUS mematuhi kebijakan yang ditetapkan oleh admin tentang mengaktifkan atau menonaktifkan streaming ke perangkat di sekitar (misalnya, menggunakan DevicePolicyManager setelan di Android).
  • HARUS memastikan bahwa tampilan jarak jauh dan semua sumber peristiwa input jarak jauh milik perangkat logis yang sama (misalnya, tampilan jarak jauh dan keyboard yang terhubung) dari perspektif pengguna dan peristiwa dirutekan dengan tepat.
  • Pengguna HARUS dapat mengakhiri streaming dari perangkat sumber (A), misalnya, dengan menggunakan tombol di notifikasi persisten. Perilaku ini dibatasi oleh layar kunci, jika perangkat sumber (A) telah menyetel kunci layar. HARUS menampilkan pemicu persisten ini di perangkat sumber (A) yang selalu terlihat dan di atas lipatan.
  • HARUS menampilkan penawaran di perangkat sumber (A) saat streaming berlangsung di perangkat lain, seperti ikon di status bar atau notifikasi persisten.
WALLET Salah satu dari:
  • Aplikasi memiliki layanan APDU NFC yang secara statis mendaftarkan setidaknya satu AID dalam kategori PEMBAYARAN.
  • Aplikasi menerapkan instance QuickAccessWalletService.

1 Kedekatan ditentukan oleh dua perangkat yang berada dalam rentang Bluetooth atau Wi-Fi satu sama lain, atau menggunakan jaringan lokal yang sama.