Peran Android

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

Lihat daftar berikut untuk mengetahui peran yang tersedia dan persyaratannya:

Peran Persyaratan
ASSISTANT Setidaknya salah satu dari:
  • Aplikasi memiliki aktivitas yang melakukan tindakan bantuan, dengan 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 flag eksplisit yang menunjukkan bahwa layanan mampu 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 harus 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 aplikasi melalui permintaan intent implisit, yang menyediakan antarmuka pengguna dalam panggilan saat perangkat sedang dalam panggilan.
  • Aplikasi dapat menangani intent panggilan masuk, menampilkan informasi yang terkait dengan panggilan (misalnya, nomor telepon penelepon) kepada pengguna, dan memungkinkan pengguna menjawab atau menolak panggilan.
  • Aplikasi memberi pengguna cara untuk memulai panggilan dan melihat histori panggilan di perangkatnya.
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 dibatasi oleh izin android.permission.BROADCAST_SMS dan satu lagi dibatasi oleh izin android.permission.BROADCAST_WAP_PUSH, yang dapat memproses pesan SMS dan MMS berbasis teks yang dikirim ke perangkat secara berurutan. 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 akan 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 dibatasi oleh izin android.permission.BIND_CALL_REDIRECTION_SERVICE, yang dapat diikat oleh framework telekomunikasi. Layanan ini menerima nomor telepon keluar dari framework telekomunikasi dan melakukan salah satu tindakan berikut:
  • Mengizinkan panggilan dilakukan apa adanya.
  • Ubah nomor keluar untuk dirutekan melalui nomor proxy.
  • Batalkan 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 akan dikirim ke aplikasi telepon di ponsel (dan berpotensi berdering, mengingat DND atau volume), dan mana yang akan dikirim secara diam-diam ke pesan suara.
  • 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 serta mengakses daftar kontak dan log panggilan.
COMPANION_DEVICE_WATCH Aplikasi dapat membuat permintaan untuk dikaitkan dengan dan untuk 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 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. Fitur ini memungkinkan pengemudi mengakses dan mengontrol aplikasi di ponsel Android, termasuk musik, navigasi, panggilan telepon, dan penelusuran, menggunakan mekanisme input di kendaraan, termasuk kontrol sentuh, kemudi, dan perintah suara.
SYSTEM_SHELL Semua:
  • Aplikasi ini adalah aplikasi sistem yang diberi UID Process.SHELL_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 konten folder atau meluncurkan aplikasi. Perintah shell dapat dijalankan 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 sebagaimana mestinya.
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 harus dihindari penggunaannya oleh perangkat karena gangguan 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 perangkat (misalnya, waktu pemakaian perangkat 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 pemberitahuan 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 akan memberikan izin kepada aplikasi terkait untuk mengakses perangkat periferal (misalnya, nama, alamat, class, dan status ikatan) dan aplikasi dapat memulai proses ikatan.
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 di 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, panel 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), memasukkan peristiwa (misalnya, klik tombol), dan mengirim data lain (misalnya, streaming audio dari mikrofon yang terpasang di remote) ke platform.
SYSTEM_UI_INTELLIGENCE Semua:
  • Merupakan layanan bawaan 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 di bagian CDD Android 9.8.6 Content Capture.
  • Layanan tidak dapat 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 Internet API. Setiap binding yang diizinkan harus disiapkan secara eksplisit melalui konfigurasi <allow-association> di konfigurasi sistem.
  • Layanan tidak dapat membagikan data dengan aplikasi kecuali jika ada tindakan langsung pengguna (misalnya, pengguna secara eksplisit menekan tombol setiap kali data dibagikan).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, hanya saja layanan bawaan menyediakan prosesor cerdas di perangkat untuk audio sekitar (misalnya, mengenali lagu yang diputar di dekat perangkat).
SYSTEM_AUDIO_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang diprainstal menyediakan prosesor cerdas di perangkat untuk audio (misalnya, teks video, podcast, panggilan telepon, panggilan video, dan pesan audio).
SYSTEM_NOTIFICATION_INTELLIGENCE Semua:
  • Identik dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang diprainstal 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 bahwa layanan yang diprainstal menyediakan prosesor cerdas di perangkat untuk teks (misalnya, menyediakan terjemahan langsung atau isi otomatis).
SYSTEM_VISUAL_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang diprainstal menyediakan prosesor cerdas di perangkat untuk fitur visual yang melibatkan analisis data kamera. Misalnya, mempertahankan 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.
  • Mulai Android 15
    Saat membuat koneksi awal dari perangkat A ke perangkat B:
    Kedua perangkat HARUS memiliki setidaknya satu akun yang cocok di AccountManager dan penyambungan harus dikonfirmasi dengan kode sekali pakai.
    • Pengguna harus mengonfirmasi sandi akun pada perangkat jarak jauh sekunder saat menyambungkan perangkat, atau,
    • Kode sekali pakai harus ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung.
    • Tidak ada persyaratan rentang selama streaming.

    Atau, perangkat A dan perangkat B HARUS berada dalam jangkauan Bluetooth satu sama lain dan streaming harus diizinkan dengan kode sekali pakai.
    • Kode sekali pakai ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung.
    • Perangkat harus tetap berada dalam jangkauan Bluetooth satu sama lain selama streaming.
  • Aplikasi dapat membuat dan mengelola saluran komunikasi dengan perangkat yang terhubung sehingga 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.
  • Aplikasi dapat mengirim notifikasi dari perangkat lokal ke perangkat yang terhubung untuk memungkinkan pengguna mengambil tindakan pada notifikasi di perangkat yang terhubung.
  • Dapat melakukan streaming metadata yang diperlukan untuk streaming aplikasi ke perangkat yang terhubung, seperti daftar aplikasi yang tersedia di perangkat lokal.
  • Dapat melakukan streaming aplikasi dari perangkat lokal ke perangkat yang terhubung setelah pengguna menunjukkan preferensi mereka untuk melakukannya dengan izin eksplisit (baik di ponsel maupun di perangkat yang terhubung).
  • Dapat memutar ulang (memasukkan) peristiwa yang terjadi di aplikasi streaming di perangkat terhubung kembali di perangkat lokal. Misalnya, memutar ulang peristiwa sentuh di tablet pada koordinat yang sama di ponsel.
  • Aplikasi dapat mengganti streaming mikrofon perangkat lokal dengan streaming mikrofon perangkat yang terhubung saat aplikasi yang di-streaming menggunakan mikrofon.
  • Aplikasi merekam audio dari perangkat dan melakukan streaming ke perangkat yang terhubung.
  • Harus memblokir streaming kamera perangkat lokal saat aplikasi yang di-streaming menggunakan kamera.
  • Harus memverifikasi integritas build OS perangkat yang terhubung (misalnya, dengan menggunakan pengesahan perangkat seperti dalam VerifiedBootState).
  • Hanya streaming aplikasi yang hanya memiliki satu akun yang cocok di registry akun di perangkat, (misalnya, class AccountManager di Android) di kedua perangkat. Jika tidak, streaming harus diberi otorisasi dengan kode satu kali yang ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung. Perhatikan bahwa untuk perangkat yang mendukung multi-pengguna (dan bukan multi-akun) dengan isolasi data yang andal dan sama seperti di multi-pengguna Android, pengguna dihitung sebagai perangkat.
  • Harus segera menghentikan streaming dan memutuskan koneksi dari perangkat yang terhubung jika autentikasi akun di perangkat yang terhubung berakhir masa berlakunya atau dicabut.
  • Harus memutuskan sambungan sesi streaming aplikasi yang sedang berlangsung jika pengguna tidak berinteraksi dengan perangkat yang terhubung (misalnya, keyboard, layar sentuh, dan mouse tidak aktif) selama 5 menit. Aplikasi streaming video dikecualikan dari persyaratan ini.
  • Mulai Android 15
    Harus memutuskan semua perangkat virtual setelah waktu tunggu tidak ada aktivitas perangkat jarak jauh yang menampilkan konten tampilan. Dapat membuat layar perangkat jarak jauh tetap aktif untuk kasus seperti WakeLock, yang membuat layar perangkat Android tetap aktif. Waktu tunggu tidak ada aktivitas harus ada. Jika perangkat jarak jauh tidak memiliki waktu tunggu tidak ada aktivitas, waktu tunggu tidak ada aktivitas maksimum 5 menit harus digunakan.
  • Jika perangkat sumber menggunakan Lockscreen Knowledge Factor (LSKF), saat layar terkunci, aplikasi tidak boleh melakukan streaming aplikasi ke perangkat yang terhubung, kecuali jika perangkat tersebut memiliki layar kunci dan tidak terkunci.
  • Jika perangkat dikelola oleh administrator, aplikasi harus mematuhi kebijakan yang ditetapkan oleh admin tentang mengaktifkan atau menonaktifkan streaming aplikasi ke perangkat di sekitar (misalnya, menggunakan setelan DevicePolicyManager di Android).
  • Harus memastikan bahwa layar jarak jauh dan semua sumber peristiwa input jarak jauh termasuk dalam perangkat logis yang sama (misalnya, layar jarak jauh dan keyboard yang terhubung) dari perspektif pengguna dan peristiwa dirutekan sebagaimana mestinya.
  • Pengguna harus dapat mengakhiri streaming dari perangkat lokal, misalnya, dengan menggunakan tombol dalam notifikasi persisten. Perilaku ini dibatasi oleh layar kunci, jika ponsel memiliki kunci layar yang disetel. Mulai Android 15, harus menampilkan kemampuan persisten ini di perangkat lokal yang selalu terlihat dan di atas lipatan.
  • Harus menampilkan kemampuan di perangkat sumber saat streaming terjadi 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 secara unik 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 secara opsional memperbarui resource seperti string, drawable yang digunakan untuk pengelolaan kebijakan perangkat.
  • Aplikasi dapat berupa aplikasi sistem yang telah 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 untuk 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 Android CDD 9.8.6. Data tingkat OS dan data standby.
  • 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 dengan aplikasi, kecuali untuk aplikasi sistem berikut: Permission Controller, dan komponen yang menyediakan Telephony dan Internet API. Setiap binding yang diizinkan harus disiapkan secara eksplisit melalui konfigurasi <allow-association> dalam konfigurasi sistem.
  • Aplikasi tidak boleh membagikan data dengan aplikasi kecuali jika ada tindakan langsung 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 menavigasi ke geolokasi yang ditentukan.
  • Aplikasi memiliki aktivitas yang diluncurkan di cluster instrumen saat aplikasi memiliki fokus navigasi. Aktivitas harus menunjukkan lokasi pengguna saat ini dan lingkungan sekitar, serta memungkinkan mereka menavigasi ke geolokasi yang ditentukan.
COMPANION_DEVICE_COMPUTER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Memungkinkan pengguna mencerminkan notifikasi serta mengakses foto dan 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 intelijen 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 dengan memberinya 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.
  • Mulai Android 15
    Saat membuat koneksi awal dari perangkat A ke perangkat B:
    Kedua perangkat HARUS memiliki setidaknya satu akun yang cocok di AccountManager dan penyambungan harus dikonfirmasi dengan kode sekali pakai.
    • Pengguna harus mengonfirmasi sandi akun pada perangkat jarak jauh sekunder saat menyambungkan perangkat, atau,
    • Kode sekali pakai harus ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung.
    • Tidak ada persyaratan rentang selama streaming.

    Atau, perangkat A dan perangkat B HARUS berada dalam jangkauan Bluetooth satu sama lain dan streaming harus diizinkan dengan kode sekali pakai.
    • Kode sekali pakai ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung.
    • Perangkat harus tetap berada dalam jangkauan Bluetooth satu sama lain selama 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 lokal ke perangkat yang terhubung sehingga pengguna dapat mengambil tindakan pada notifikasi di perangkat terhubung.
  • Dapat melakukan streaming metadata yang diperlukan untuk streaming aplikasi ke perangkat yang terhubung, seperti daftar aplikasi yang tersedia di perangkat lokal.
  • Dapat melakukan streaming aplikasi dari perangkat lokal ke perangkat yang terhubung setelah pengguna menunjukkan preferensi mereka untuk melakukannya dengan izin eksplisit (baik di ponsel maupun di perangkat yang terhubung).
  • Dapat memutar ulang (memasukkan kembali) peristiwa yang terjadi pada aplikasi yang di-streaming pada perangkat yang terhubung kembali di perangkat lokal. Misalnya, memutar ulang peristiwa sentuh di tablet pada koordinat yang sama dengan di ponsel, atau memutar ulang peristiwa input yang terjadi di perangkat kacamata dengan semantik input yang sama seperti di ponsel.
  • Aplikasi dapat mengganti streaming mikrofon perangkat lokal dengan streaming mikrofon perangkat yang terhubung saat aplikasi yang di-streaming menggunakan mikrofon.
  • Aplikasi merekam audio dari perangkat dan melakukan streaming ke perangkat yang terhubung.
  • Harus memverifikasi integritas build OS perangkat yang terhubung (misalnya, dengan menggunakan pengesahan perangkat seperti dalam VerifiedBootState).
  • Hanya streaming aplikasi yang hanya memiliki satu akun yang cocok di registry akun di perangkat, (misalnya, class AccountManager di Android) di kedua perangkat. Jika tidak, streaming harus diberi otorisasi dengan kode satu kali yang ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung. Perhatikan bahwa untuk perangkat yang mendukung multi-pengguna (dan bukan multi-akun) dengan isolasi data yang andal dan sama seperti di multi-pengguna Android, pengguna dihitung sebagai perangkat.
  • Harus segera menghentikan streaming dan memutuskan koneksi dari perangkat yang terhubung jika autentikasi akun di perangkat yang terhubung berakhir masa berlakunya atau dicabut.
  • Jika perangkat sumber menggunakan LSKF, saat layar terkunci, aplikasi tidak boleh melakukan streaming aplikasi ke perangkat yang terhubung, kecuali jika perangkat tersebut memiliki layar kunci dan tidak terkunci.
  • Jika perangkat dikelola oleh administrator, aplikasi harus mematuhi kebijakan yang ditetapkan oleh admin tentang mengaktifkan atau menonaktifkan streaming ke perangkat di sekitar (misalnya, menggunakan setelan DevicePolicyManager di Android).
  • Harus memastikan bahwa layar jarak jauh dan semua sumber peristiwa input jarak jauh termasuk dalam perangkat logis yang sama (misalnya, layar jarak jauh dan keyboard yang terhubung) dari perspektif pengguna dan peristiwa dirutekan sebagaimana mestinya.
  • Pengguna harus dapat mengakhiri streaming dari perangkat lokal, misalnya, dengan menggunakan tombol dalam notifikasi persisten. Perilaku ini dibatasi oleh layar kunci, jika ponsel memiliki kunci layar yang disetel.
  • Harus menampilkan kemampuan di perangkat sumber saat streaming terjadi di perangkat lain, seperti ikon di status bar atau notifikasi persisten.
WALLET Salah satu dari:
  • Aplikasi memiliki layanan APDU NFC yang mendaftarkan setidaknya satu AID secara statis dalam kategori PEMBAYARAN.
  • Aplikasi menerapkan instance QuickAccessWalletService.