Peran Android

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

Lihat daftar berikut untuk mengetahui peran yang tersedia dan persyaratannya yang terkait.

Role Persyaratan
ASISTEN 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 ini memiliki layanan interaksi suara yang selalu aktif, yang dibatasi oleh izin android.permission.BIND_VOICE_INTERACTION, yang dapat melakukan pengenalan suara dan mengadakan 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 oleh aplikasi melalui permintaan intent implisit, yang menampilkan halaman web yang terkait dengan alamat http://.
  • Aplikasi perlu menangani navigasi antar-link. Artinya, jika pengguna melihat halaman web dan mengklik alamat http:// di teks, aplikasi harus dapat menampilkan konten yang sesuai dengan link yang dipilih tanpa intervensi tambahan dari pengguna.
  • 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 selagi 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 oleh 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 pesan melalui panggilan masuk. Aplikasi dapat mengirimkan pesan melalui sistem pesannya sendiri.
  • Aplikasi memiliki dua penerima siaran, satu yang 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. Selanjutnya, aplikasi bertanggung jawab untuk menulis pesan ke penyedia SMS dan memberi tahu pengguna.
DARURAT Semua:
  • Aplikasi adalah aplikasi sistem .
  • Aplikasi memiliki aktivitas yang menampilkan informasi darurat pengguna. Siapa pun dapat membuka layar ini melalui tombol Darurat pada aktivitas Telepon Darurat.
DI RUMAH Aplikasi memiliki aktivitas yang dapat meluncurkan layar utama ketika 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 menerima nomor telepon keluar dari framework Telecom dan melakukan salah satu tindakan berikut:
  • Izinkan panggilan dilakukan apa adanya.
  • Ubah nomor keluar untuk merutekan melalui nomor proxy.
  • Membatalkan panggilan.
LAYAR_PANGGILAN Aplikasi memiliki layanan, yang dibatasi oleh izin android.permission.BIND_SCREENING_SERVICE, yang menjalankan dua fungsi:
  1. Pemblokiran/penyaringan panggilan: Layanan dapat memilih panggilan mana yang harus dikirimkan ke aplikasi telepon di ponsel (dan kemungkinan berdering, berdasarkan DND/volume), dan yang harus dikirimkan secara senyap ke pesan suara.
  2. Identifikasi panggilan: Layanan dapat mengidentifikasi dan menampilkan informasi tentang panggilan melalui antarmuka pengguna.
GALLERI_SISTEM Semua:
  • Aplikasi 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.
SYSTEM_AUTOMOTIVE_CLUSTER Semua:
  • Aplikasi ini merupakan aplikasi sistem di Automotive.
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan fungsi 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). Setelah 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 adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memungkinkan layar ponsel diproyeksikan di layar di dalam kendaraan. Dengan platform ini, pengemudi dapat mengakses dan mengontrol aplikasi di ponsel Android, termasuk musik, navigasi, panggilan telepon, dan penelusuran Google, menggunakan mekanisme input pada kendaraan, termasuk sentuhan, kontrol roda kemudi, dan perintah suara.
SISTEM_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 pada level 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 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 akan mengupdate Penyedia kontak saat pengguna memperbarui kontak mereka dari aplikasi. Pengguna juga dapat menelepon, mengirim email, atau mengirim pesan teks ke kontak mereka dari aplikasi.
SYSTEM_SPEECH_RECOGNIZER Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini 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 panggilan dan memperbarui statistik operasi aplikasi sebagaimana mestinya.
SYSTEM_WiFi_COEX_MANAGER Semua:
  • Aplikasi 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 perangkat karena gangguan seluler.
SISTEM_WELLBEING Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi harus menyediakan fungsi bagi pengguna untuk mengurangi gangguan dan memberi pengguna statistik tentang cara mereka menggunakan perangkat (misalnya, waktu pemakaian perangkat per minggu).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Semua:
  • Aplikasi 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 yang aktif saat ini ketika intent android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL dikirim (dari SystemUI).
SYSTEM_COMPANION_DEVICE_STORAGE Semua:
  • Aplikasi 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. Setelah 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 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 Android CDD 2.2.3. Software di bawah judul [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER Semua:
  • Aplikasi adalah aplikasi sistem .
  • Aplikasi memiliki layanan, yang dibatasi oleh android.permission.ACTIVITY_RECOGNITION, yang dapat melakukan pengenalan aktivitas (misalnya, berlari atau bersepeda).
UI_SISTEM Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memiliki antarmuka bagi pengguna untuk berinteraksi dengan ponsel mereka. Misalnya, layar utama, navigasi, aplikasi terbaru, setelan cepat, baris notifikasi, layar kunci, kontrol volume ponsel.
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 remote control TV (misalnya melalui BLE), memasukkan peristiwa (misalnya, klik tombol), dan mengirim data lain (misalnya, streaming audio dari mikrofon yang terpasang pada remote) ke platform.
SYSTEM_UI_INTELLIGENCE Semua:
  • Sebagai layanan bawaan yang menyediakan, melalui API framework (API publik atau sistem), pemroses cerdas di perangkat untuk fitur UI sistem (misalnya, memprediksi dan menampilkan aplikasi berikutnya kepada pengguna).
  • Layanan harus memenuhi semua persyaratan yang diuraikan di bagian 9.8.6 Pengambilan Konten Android CDD.
  • Aplikasi tidak boleh memiliki izin android.permission.INTERNET. Sebagai gantinya, aplikasi harus mengakses Internet melalui API yang didefinisikan dengan baik dalam project open source.
  • API ini tidak dapat mengikat 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> dalam konfigurasi sistem.
  • Kebijakan ini tidak dapat berbagi data dengan aplikasi kecuali ada tindakan pengguna langsung (misalnya, pengguna menekan tombol secara eksplisit setiap kali data dibagikan).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang telah diinstal sebelumnya menyediakan prosesor cerdas di perangkat untuk audio sekitar (misalnya, mengenali lagu yang diputar di dekat perangkat).
SISTEM_AUDIO_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang telah diinstal sebelumnya menyediakan pemroses cerdas di perangkat untuk audio (misalnya, menambahkan teks ke video, podcast, panggilan telepon, panggilan video, dan pesan audio).
SYSTEM_NOTIFICATION_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang telah diinstal sebelumnya menyediakan pemroses cerdas di perangkat untuk notifikasi (misalnya menyarankan balasan dan tindakan untuk notifikasi pesan).
SYSTEM_TEXT_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang telah diinstal sebelumnya menyediakan pemroses cerdas untuk teks di perangkat (misalnya menyediakan terjemahan langsung atau fitur isi otomatis).
SISTEM_VISUAL_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE, kecuali bahwa layanan yang telah diinstal sebelumnya menyediakan prosesor cerdas di perangkat untuk fitur visual yang melibatkan analisis data kamera. Misalnya, menjaga layar ponsel tetap aktif saat pengguna sedang melihatnya atau menentukan orientasi layar yang ideal berdasarkan orientasi wajah pengguna dari kamera depan perangkat.
COMPANION_DEVICE_APP_STREAMING Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi dapat membuat dan mengelola saluran komunikasi dengan perangkat terhubung sehingga dapat bertukar data. Aplikasi dan perangkat yang terhubung harus berhasil mengautentikasi satu sama lain (misalnya, dengan membuktikan pengetahuannya tentang kunci bersama) untuk membangun saluran komunikasi ini. Saluran komunikasi harus memiliki perlindungan enkripsi.
  • Aplikasi dapat mengirimkan notifikasi dari perangkat lokal ke perangkat yang terhubung agar pengguna dapat melakukan 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 men-streaming aplikasi dari perangkat lokal ke perangkat yang terhubung setelah pengguna menunjukkan preferensinya 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 di ponsel.
  • Aplikasi dapat mengganti streaming mikrofon perangkat lokal dengan streaming mikrofon perangkat yang terhubung saat aplikasi yang di-streaming menggunakan mikrofon.
  • Aplikasi ini merekam audio dari perangkat dan menstreamingnya 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 jika hanya ada satu akun yang cocok di registry akun pada perangkat, (misalnya, AccountManager di Android) di kedua perangkat. Jika tidak demikian, streaming harus diizinkan dengan kode sekali pakai yang ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung. Perhatikan bahwa dalam kasus perangkat yang mendukung multi-pengguna (dan bukan multi-akun) dengan isolasi data andal yang sama seperti dalam multi-pengguna Android, pengguna dihitung sebagai satu perangkat.
  • Streaming harus dihentikan dan diputuskan dari perangkat yang terhubung segera jika autentikasi akun di perangkat yang terhubung sudah tidak berlaku atau dicabut.
  • Harus memverifikasi bahwa perangkat yang terhubung berada dalam jangkauan Bluetooth perangkat lokal sebelum dan selama streaming.
  • 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.
  • Jika perangkat sumber menggunakan Lockscreen Knowledge Factor (LSKF), saat layar terkunci, aplikasi tidak boleh menstreaming aplikasi ke perangkat yang terhubung kecuali jika perangkat tersebut memiliki layar kunci dan tidak terkunci.
  • Jika perangkat dikelola oleh admin, aplikasi harus mematuhi kebijakan yang disetel oleh admin tentang mengaktifkan atau menonaktifkan streaming aplikasi ke perangkat di sekitar (misalnya, menggunakan setelan Device terafiliasi 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 diarahkan dengan sesuai.
  • Pengguna harus dapat mengakhiri streaming dari perangkat lokal, misalnya, dengan menggunakan tombol dalam notifikasi persisten. Perilaku ini dibatasi oleh layar kunci, jika ponsel telah menyetel kunci layar.
  • Harus menampilkan affordance 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 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/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 holder peran diinstal pada pengguna Android tertentu, aplikasi tersebut harus diinstal pada semua profil yang berlaku untuk pengguna tersebut.
SYSTEM_APP_PROTECTION_SERVICE Semua:
  • Aplikasi adalah aplikasi sistem .
  • Satu-satunya tujuan aplikasi ini adalah mendeteksi aplikasi yang berpotensi membahayakan (aplikasi yang dapat membahayakan pengguna, data pengguna, atau perangkat seperti aplikasi trojan, phishing, dan spyware) atau Software Seluler yang Tidak Diinginkan (MUwS).
  • Aplikasi harus memenuhi semua persyaratan yang diuraikan di bagian Android CDD 9.8.6. data level OS dan standby.
  • ID ini tidak boleh mendeklarasikan izin normal android.permission.INTERNET. Sebagai gantinya, aplikasi harus mengakses Internet melalui API yang didefinisikan dengan baik dalam project open source.
  • Aplikasi tidak boleh mengikat ke aplikasi, kecuali untuk aplikasi sistem berikut: Pengontrol Izin, dan komponen yang menyediakan API Telepon dan Internet. Setiap binding yang diizinkan harus disiapkan secara eksplisit melalui konfigurasi <allow-association> dalam konfigurasi sistem.
  • SDK tidak boleh berbagi data dengan aplikasi kecuali jika ada tindakan pengguna langsung (misalnya, pengguna menekan tombol secara eksplisit setiap kali data dibagikan).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke 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.
  • Harus beroperasi tanpa koneksi internet. Misalnya, dengan menggunakan koneksi kabel atau nirkabel langsung.
NAVIGASI_OTOMOTIVE Semua:
  • Aplikasi memiliki aktivitas yang dapat dipanggil oleh aplikasi melalui permintaan intent implisit, yang menunjukkan lokasi pengguna saat ini dan lingkungan sekitarnya.
  • Aplikasi memiliki aktivitas yang dapat dipanggil oleh aplikasi melalui permintaan intent implisit, yang memungkinkan pengguna menavigasi ke lokasi geografis tertentu.
  • 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 mendapatkan panduan navigasi ke lokasi geografis yang ditentukan.
COMPANION_DEVICE_COMPUTER Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Pengguna dapat mencerminkan notifikasi serta mengakses foto dan media dari ponsel di komputer yang terhubung.
INTELIGEN_SETELAN_SISTEM Setidaknya salah satu dari:
  • Aplikasi 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.
CATATAN Semua:
COMPANION_DEVICE_GLASSES Aplikasi dapat membuat permintaan untuk dikaitkan dengan dan mengelola perangkat kacamata (dengan menggunakan API yang disediakan oleh class CompanionDeviceManager). Setelah perangkat kacamata dan aplikasi terhubung menggunakan UI yang disediakan oleh CDM, pengguna dapat mengelola perangkat kacamata mereka dengan memberinya akses ke kontak, dan izin untuk mengelola notifikasi dan panggilan telepon.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Semua:
  • Aplikasi adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi dapat membuat dan mengelola saluran komunikasi dengan perangkat terhubung sehingga perangkat tersebut dapat bertukar data. Aplikasi dan perangkat yang terhubung harus berhasil mengautentikasi satu sama lain (misalnya, dengan membuktikan pengetahuan mereka tentang kunci bersama) untuk membangun saluran komunikasi ini. Saluran komunikasi harus memiliki perlindungan enkripsi.
  • Aplikasi dapat mengirimkan notifikasi dari perangkat lokal ke perangkat yang terhubung agar pengguna dapat melakukan 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 men-streaming aplikasi dari perangkat lokal ke perangkat yang terhubung setelah pengguna menunjukkan preferensinya 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 ini merekam audio dari perangkat dan menstreamingnya ke perangkat yang terhubung.
  • Harus memverifikasi integritas build OS perangkat yang terhubung (misalnya, dengan menggunakan pengesahan perangkat seperti dalam VerifiedBootState).
  • Hanya streaming aplikasi jika hanya ada satu akun yang cocok dalam registry akun di perangkat, (misalnya, AccountManager di Android) di kedua perangkat. Jika tidak demikian, streaming harus diizinkan dengan kode sekali pakai yang ditampilkan di perangkat sumber dan dimasukkan di perangkat yang terhubung. Perhatikan bahwa dalam kasus perangkat yang mendukung multi-pengguna (dan bukan multi-akun) dengan isolasi data terjamin yang sama seperti di multi-pengguna Android, pengguna dihitung sebagai satu perangkat.
  • Streaming harus dihentikan dan diputuskan dari perangkat yang terhubung segera jika autentikasi akun di perangkat yang terhubung sudah tidak berlaku atau dicabut.
  • Jika perangkat sumber menggunakan Lockscreen Knowledge Factor (LSKF), saat layar terkunci, aplikasi tidak boleh menstreaming aplikasi ke perangkat yang terhubung kecuali jika perangkat tersebut memiliki layar kunci dan tidak terkunci.
  • Jika perangkat dikelola oleh admin, aplikasi harus mematuhi kebijakan yang ditetapkan oleh admin tentang cara mengaktifkan atau menonaktifkan streaming ke perangkat di sekitar (misalnya, menggunakan setelan DeviceDependencies 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 sesuai.
  • Pengguna harus dapat mengakhiri streaming dari perangkat lokal, misalnya, dengan menggunakan tombol dalam notifikasi persisten. Perilaku ini dibatasi oleh layar kunci, jika ponsel telah menyetel kunci layar.
  • Harus menampilkan affordance di perangkat sumber saat streaming terjadi di perangkat lain, seperti ikon di status bar atau notifikasi persisten.