Peran Android

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

Lihat daftar berikut untuk mengetahui peran yang tersedia dan persyaratan terkaitnya.

Peran Persyaratan
ASISTEN Setidaknya satu dari:
  • Aplikasi memiliki aktivitas yang melakukan tindakan bantuan, dengan mempertimbangkan 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, dilindungi 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 mampu menangani tindakan bantuan.
PERAMBIL Semua:
  • Aplikasi memiliki aktivitas, yang dapat dipanggil oleh aplikasi melalui permintaan maksud implisit, yang menampilkan halaman web yang sesuai dengan alamat http:// .
  • Aplikasi perlu menangani navigasi antar tautan. Artinya, jika pengguna melihat halaman web dan mengklik alamat http:// di teks, aplikasi harus dapat menampilkan konten yang sesuai dengan link yang dipilih tanpa campur tangan pengguna tambahan.
  • Aplikasi harus dapat memberikan informasi geolokasi perangkat saat ini ke halaman web saat diminta dan pengguna menyetujui permintaan tersebut.
PEMANGGI Semua:
  • Aplikasi memiliki aktivitas, yang dapat dipanggil oleh aplikasi melalui permintaan maksud implisit, yang menyediakan antarmuka pengguna dalam panggilan saat perangkat sedang melakukan panggilan.
  • Aplikasi ini dapat menangani maksud panggilan masuk, menampilkan informasi terkait panggilan tersebut (misalnya, nomor telepon penelepon) kepada pengguna, dan memungkinkan pengguna menjawab atau menolak panggilan.
  • Aplikasi ini memberi pengguna sarana untuk memulai panggilan dan melihat riwayat panggilan di perangkat mereka.
SMS Semua:
  • Aplikasi ini memenuhi semua persyaratan untuk aplikasi SMS .
  • Aplikasi memiliki aktivitas, yang dapat dipanggil oleh aplikasi melalui permintaan maksud implisit, yang dapat mengirim pesan ke nomor telepon.
  • Aplikasi ini memiliki layanan, yang dilindungi oleh izin android.permission.SEND_RESPOND_VIA_MESSAGE dan dapat dipanggil dengan maksud implisit, yang dapat mengirimkan pesan yang diterima dari aplikasi Telepon saat pengguna memilih untuk merespons melalui pesan selama panggilan masuk. Aplikasi ini dapat mengirimkan pesan melalui sistem pesannya sendiri.
  • Aplikasi ini memiliki dua penerima siaran, satu dilindungi oleh izin android.permission.BROADCAST_SMS dan satu lagi dilindungi oleh izin android.permission.BROADCAST_WAP_PUSH , yang masing-masing dapat mendengarkan pesan SMS dan MMS berbasis teks yang dikirim ke perangkat. Aplikasi ini kemudian bertanggung jawab untuk menulis pesan ke penyedia SMS dan memberi tahu pengguna.
KEADAAN DARURAT Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Aplikasi ini memiliki aktivitas yang menyajikan informasi darurat pengguna. Siapa pun dapat menavigasi ke layar ini melalui tombol Darurat pada aktivitas Pemanggil Darurat.
RUMAH Aplikasi ini memiliki aktivitas yang dapat meluncurkan layar beranda saat pengguna menekan tombol beranda. Layar beranda akan menampilkan ikon aplikasi, widget, dan mendukung navigasi berdasarkan tombol atau gerakan (misalnya, menggeser ke atas untuk melihat semua aplikasi).
PANGGILAN_REDIRECTION Aplikasi ini memiliki layanan, yang dilindungi oleh izin android.permission.BIND_CALL_REDIRECTION_SERVICE , yang dapat diikat oleh framework Telecom. Layanan menerima nomor telepon keluar dari kerangka Telecom dan melakukan salah satu tindakan berikut:
  • Izinkan panggilan dilakukan apa adanya.
  • Ubah nomor keluar untuk merutekan melalui nomor proxy.
  • Batalkan panggilan.
PANGGILAN_SCREENING Aplikasi ini memiliki layanan, yang dilindungi oleh izin android.permission.BIND_SCREENING_SERVICE , yang menjalankan dua fungsi:
  1. Pemblokiran/penyaringan panggilan: Layanan dapat memilih panggilan mana yang harus dikirim ke aplikasi dialer di telepon (dan kemungkinan berdering, mengingat DND/volume), dan panggilan mana yang harus dikirim secara diam-diam ke pesan suara.
  2. Identifikasi panggilan: Layanan dapat mengidentifikasi dan menampilkan informasi tentang panggilan melalui antarmuka pengguna.
SISTEM_GALERI 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_AUTOMOTIF_CLUSTER Semua:
  • Aplikasi ini adalah aplikasi sistem di Otomotif.
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan fungsionalitas untuk tampilan cluster otomotif (biasanya berdekatan dengan roda kemudi) bagi pengguna untuk menjawab panggilan telepon dan mengakses daftar kontak dan log panggilan.
PERUSAHAAN_DEVICE_WATCH Aplikasi dapat membuat permintaan untuk dikaitkan dengan dan mengelola perangkat jam tangan (dengan menggunakan API yang disediakan oleh kelas CompanionDeviceManager ). Setelah jam tangan dan aplikasi terhubung melalui UI yang disediakan oleh aplikasi, pengguna dapat mengelola jam tangan mereka dari aplikasi, termasuk menyinkronkan kontak dan kalender, serta mengelola notifikasi dan panggilan telepon.
SYSTEM_AUTOMOTIF_PROJECTION Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memungkinkan layar ponsel diproyeksikan pada tampilan di dalam kendaraan. Hal ini memungkinkan pengemudi untuk mengakses dan mengontrol aplikasi di ponsel Android, termasuk musik, navigasi, panggilan telepon, dan pencarian Google, menggunakan mekanisme input pada kendaraan, termasuk sentuhan, kontrol roda 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 bekerja pada tingkat baris perintah sehingga pengguna dapat berinteraksi dengan OS Android. Misalnya menampilkan isi folder atau meluncurkan aplikasi. Perintah shell dapat dijalankan secara terprogram oleh aplikasi (asalkan izin yang diperlukan telah diberikan), atau dari alat ADB.
SISTEM_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, berbagi, menambah, menghapus, atau mencari kontak). Aplikasi memperbarui penyedia Kontak ketika 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 ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini menyediakan layanan yang dapat melakukan pengenalan suara.
  • Saat aplikasi menerima aliran mikrofon langsung dari aplikasi lain untuk pengenalan ucapan, aplikasi tersebut dengan benar mengaitkan penggunaan mikrofon ke aplikasi panggilan dan memperbarui statistik operasi aplikasi yang sesuai.
SYSTEM_WIFI_COEX_MANAGER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memiliki layanan yang secara dinamis menetapkan daftar saluran Wi-Fi yang sebaiknya dihindari perangkat karena gangguan seluler.
SYSTEM_WELLBEING Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi harus menyediakan fungsionalitas bagi 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 awal kepada pengguna di perangkat TV. Aplikasi juga harus menampilkan notifikasi aktif saat ini ketika maksud 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. Itu harus memiliki UI tempat pengguna dapat mengonfirmasi bahwa perangkat periferal tertentu harus dikaitkan dan dikelola oleh suatu aplikasi. Setelah pengguna mengonfirmasi, aplikasi pengelola memberikan izin kepada aplikasi terkait untuk mengakses perangkat periferal (misalnya, nama, alamat, kelas, dan status pengikatan) dan aplikasi tersebut dapat memulai proses pengikatan.
SYSTEM_DOCUMENT_MANAGER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memiliki aktivitas yang memungkinkan pengguna mengakses dokumen yang ada dan membuat dokumen baru di perangkat.
  • Aplikasi harus memenuhi semua persyaratan yang diuraikan dalam CDD Android bagian 2.2.3. Perangkat Lunak di bawah judul [3.2.3.1/H-0-1] .
SYSTEM_ACTIVITY_RECOGNIZER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Aplikasi ini memiliki layanan, yang dilindungi oleh android.permission.ACTIVITY_RECOGNITION , yang dapat melakukan pengenalan aktivitas (misalnya, berlari atau bersepeda).
SISTEM_UI Semua:
  • Aplikasi ini 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 ponsel, navigasi, aplikasi terkini, pengaturan cepat, bilah notifikasi, layar kunci, pengatur volume.
SYSTEM_TELEVISION_REMOTE_SERVICE Semua:
  • Aplikasi ini adalah aplikasi sistem di Android TV.
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini memiliki layanan yang dapat berkomunikasi dengan perangkat HID kendali jarak jauh TV (misalnya, melalui BLE), memasukkan peristiwa (misalnya, klik tombol), dan mengirim data lain (misalnya, aliran audio dari mikrofon yang terpasang di remote ) ke dalam platform.
SYSTEM_UI_INTELLIGENCE Semua:
  • Menjadi layanan pra-instal yang menyediakan, melalui API kerangka kerja (API publik atau sistem), prosesor cerdas pada perangkat untuk fitur UI sistem (misalnya, memprediksi dan menampilkan aplikasi berikutnya kepada pengguna).
  • Layanan harus memenuhi semua persyaratan yang diuraikan dalam CDD Android bagian 9.8.6 Pengambilan Konten .
  • Itu tidak dapat memiliki izin android.permission.INTERNET . Sebaliknya, ia harus mengakses Internet melalui API yang terdefinisi dengan baik dalam proyek sumber terbuka.
  • Itu tidak dapat mengikat ke aplikasi, kecuali untuk aplikasi sistem berikut: Bluetooth, Kontak, Media, Teleponi, SystemUI, dan komponen yang menyediakan API Internet. Setiap pengikatan yang diizinkan harus diatur secara eksplisit melalui konfigurasi <allow-association> di konfigurasi sistem.
  • Itu tidak dapat berbagi data dengan aplikasi kecuali ada tindakan pengguna langsung (misalnya, pengguna secara eksplisit menekan tombol setiap kali data dibagikan).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE , kecuali bahwa layanan pra-instal menyediakan prosesor cerdas pada perangkat untuk audio sekitar (misalnya, mengenali lagu yang diputar di dekat perangkat).
SYSTEM_AUDIO_INTELLIGENCE Semua:
  • Sama dengan ketentuan SYSTEM_UI_INTELLIGENCE , kecuali bahwa layanan pra-instal menyediakan prosesor cerdas pada perangkat untuk audio (misalnya, membuat teks video, podcast, panggilan telepon, panggilan video, dan pesan audio).
SYSTEM_NOTIFICATION_INTELLIGENCE Semua:
  • Sama dengan kondisi untuk SYSTEM_UI_INTELLIGENCE , kecuali bahwa layanan pra-instal menyediakan prosesor cerdas pada 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 pra-instal menyediakan prosesor cerdas pada perangkat untuk teks (misalnya menyediakan terjemahan langsung atau pengisian otomatis).
SYSTEM_VISUAL_INTELLIGENCE Semua:
  • Mirip dengan kondisi SYSTEM_UI_INTELLIGENCE , hanya saja layanan pra-instal menyediakan prosesor cerdas pada perangkat untuk fitur visual yang melibatkan analisis data kamera. Misalnya, menjaga layar ponsel tetap hidup saat pengguna melihatnya atau menentukan orientasi layar yang ideal berdasarkan orientasi wajah pengguna dari kamera depan pada perangkat.
COMPANION_DEVICE_APP_STREAMING Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini 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 membangun saluran komunikasi ini. Saluran komunikasi harus memiliki perlindungan enkripsi.
  • Aplikasi dapat mengirimkan notifikasi dari perangkat lokal ke perangkat yang terhubung untuk memungkinkan pengguna mengambil tindakan terhadap notifikasi di perangkat yang terhubung.
  • Mampu 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 keinginannya untuk melakukannya dengan persetujuan yang jelas (baik di ponsel atau di perangkat yang terhubung).
  • Mampu memutar ulang (menyuntikkan) peristiwa yang terjadi pada aplikasi streaming pada perangkat yang terhubung kembali ke perangkat lokal. Misalnya memutar ulang peristiwa sentuhan di tablet pada koordinat yang sama di ponsel.
  • Aplikasi ini dapat mengganti aliran mikrofon perangkat lokal dengan aliran mikrofon perangkat yang terhubung saat aplikasi streaming menggunakan mikrofon.
  • Aplikasi ini menangkap audio dari perangkat dan mengalirkannya ke perangkat yang terhubung.
  • Harus memblokir aliran kamera perangkat lokal saat aplikasi streaming menggunakan kamera.
  • 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 pada perangkat, (misalnya, AccountManager di Android) di kedua perangkat. Jika hal ini tidak terjadi, streaming harus disahkan dengan kode satu kali yang ditampilkan pada perangkat sumber dan dimasukkan pada perangkat yang terhubung. Perhatikan bahwa jika perangkat mendukung multi-pengguna (dan bukan multi-akun) dengan jaminan isolasi data yang sama seperti di multi-pengguna Android , pengguna dihitung sebagai perangkat.
  • Harus segera menghentikan streaming dan memutuskan sambungan dari perangkat yang terhubung jika otentikasi akun pada perangkat yang terhubung telah kedaluwarsa 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 melakukan streaming aplikasi ke perangkat yang terhubung kecuali 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 terdekat (misalnya, menggunakan setelan DevicePolicyManager di Android).
  • Harus memastikan bahwa tampilan jarak jauh dan semua sumber kejadian input jarak jauh berada pada perangkat logis yang sama (misalnya, tampilan jarak jauh dan keyboard yang tersambung) dari perspektif pengguna dan kejadian dirutekan sesuai.
  • Pengguna harus dapat mengakhiri streaming dari perangkat lokal, misalnya dengan menggunakan tombol di notifikasi terus-menerus. Perilaku ini dilindungi oleh layar kunci, jika ponsel telah menyetel kunci layar.
  • Harus menunjukkan keterjangkauan pada perangkat sumber saat streaming terjadi di perangkat lain, seperti ikon di bilah status atau pemberitahuan terus-menerus.
DEVICE_POLICY_MANAGEMENT Semua:
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi. Aplikasi tidak dapat meminta peran ini karena peran ini dimaksudkan untuk diberikan langsung pada nama paket yang ditentukan oleh OEM saat perangkat dikirimkan.
  • Aplikasi harus dapat menyediakan profil terkelola (pemilik profil) atau perangkat terkelola (pemilik perangkat), termasuk mengunduh/menginstal Klien Kebijakan Perangkat yang sesuai untuk menjadi pemilik perangkat/profil jika diperlukan.
  • Aplikasi ini secara opsional dapat memperbarui sumber daya seperti string, sumber daya dapat digambar yang digunakan untuk manajemen kebijakan perangkat.
  • Aplikasi tersebut dapat berupa aplikasi sistem pra-instal atau diunduh dan diinstal, sebelum penyediaan.
  • Untuk kasus penyediaan pemilik profil, saat aplikasi pemegang peran diinstal pada pengguna Android tertentu, aplikasi tersebut harus diinstal pada semua profil yang berlaku untuk pengguna tersebut.
SYSTEM_APP_PROTECTION_SERVICE Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Satu-satunya tujuan aplikasi adalah untuk mendeteksi aplikasi yang berpotensi membahayakan (aplikasi yang dapat membahayakan pengguna, data pengguna, atau perangkat seperti aplikasi trojan, phishing, dan spyware) atau Perangkat Lunak Seluler yang Tidak Diinginkan .
  • Aplikasi harus memenuhi semua persyaratan yang diuraikan dalam CDD Android bagian 9.8.6 Pengambilan Konten .
  • Itu tidak boleh mendeklarasikan izin normal android.permission.INTERNET . Sebaliknya, ia harus mengakses Internet melalui API yang terdefinisi dengan baik dalam proyek sumber terbuka.
  • Itu tidak boleh mengikat ke aplikasi, kecuali untuk aplikasi sistem berikut: Pengontrol Izin, dan komponen yang menyediakan API Internet. Setiap pengikatan yang diizinkan harus diatur secara eksplisit melalui konfigurasi <allow-association> di konfigurasi sistem.
  • Itu tidak boleh berbagi data dengan aplikasi kecuali ada tindakan pengguna langsung (misalnya, pengguna secara eksplisit menekan tombol setiap kali data dibagikan).
SYSTEM_AUTOMOTIF_CALENDAR_SYNC_MANAGER Semua:
  • Aplikasi ini 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 saja dengan menggunakan koneksi kabel atau nirkabel secara langsung.
OTOMOTIF_NAVIGASI Semua:
  • Aplikasi memiliki aktivitas, yang dapat dipanggil oleh aplikasi melalui permintaan maksud implisit, yang menunjukkan lokasi dan lingkungan sekitar pengguna saat ini.
  • Aplikasi memiliki aktivitas, yang dapat dipanggil oleh aplikasi melalui permintaan maksud implisit, yang memungkinkan pengguna bernavigasi ke lokasi geografis tertentu.
  • Memiliki aktivitas yang diluncurkan pada kluster instrumen saat aplikasi menahan fokus navigasi . Aktivitas tersebut harus menunjukkan lokasi pengguna saat ini, lingkungan sekitar, dan memungkinkan mereka bernavigasi ke lokasi geografis tertentu.
COMPANION_DEVICE_COMPUTER Semua:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Memungkinkan pengguna untuk mencerminkan notifikasi dan mengakses foto dan media dari ponsel di komputer yang terhubung.
SYSTEM_SETTINGS_INTELLIGENCE Setidaknya satu dari:
  • Aplikasi ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Memiliki layanan yang menyediakan fitur intelijen untuk aplikasi Pengaturan, seperti saran dan pencarian.
CATATAN Semua:
PERUSAHAAN_DEVICE_GLASSES Aplikasi dapat membuat permintaan untuk dikaitkan dengan dan mengelola perangkat kacamata (dengan menggunakan API yang disediakan oleh kelas 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 ini adalah aplikasi sistem .
  • Hanya OEM yang dapat memberikan peran ini ke aplikasi.
  • Aplikasi ini 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 membangun saluran komunikasi ini. Saluran komunikasi harus memiliki perlindungan enkripsi.
  • Aplikasi dapat mengirimkan notifikasi dari perangkat lokal ke perangkat yang terhubung untuk memungkinkan pengguna mengambil tindakan terhadap notifikasi di perangkat yang terhubung.
  • Mampu 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 keinginannya untuk melakukannya dengan persetujuan yang jelas (baik di ponsel atau di perangkat yang terhubung).
  • Mampu memutar ulang (menyuntikkan) peristiwa yang terjadi pada aplikasi streaming pada perangkat yang terhubung kembali ke perangkat lokal. Misalnya, memutar ulang peristiwa sentuhan di tablet dengan koordinat yang sama seperti di ponsel, atau memutar ulang peristiwa masukan yang terjadi di perangkat kacamata dengan semantik masukan yang sama seperti di ponsel.
  • Aplikasi ini dapat mengganti aliran mikrofon perangkat lokal dengan aliran mikrofon perangkat yang terhubung saat aplikasi streaming menggunakan mikrofon.
  • Aplikasi ini menangkap audio dari perangkat dan mengalirkannya ke perangkat yang terhubung.
  • 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 pada perangkat, (misalnya, AccountManager di Android) di kedua perangkat. Jika hal ini tidak terjadi, streaming harus disahkan dengan kode satu kali yang ditampilkan pada perangkat sumber dan dimasukkan pada perangkat yang terhubung. Perhatikan bahwa jika perangkat mendukung multi-pengguna (dan bukan multi-akun) dengan jaminan isolasi data yang sama seperti di multi-pengguna Android , pengguna dihitung sebagai perangkat.
  • Harus segera menghentikan streaming dan memutuskan sambungan dari perangkat yang terhubung jika otentikasi akun pada perangkat yang terhubung telah kedaluwarsa atau dicabut.
  • Jika perangkat sumber menggunakan Lockscreen Knowledge Factor (LSKF), saat layar terkunci, aplikasi tidak boleh melakukan streaming aplikasi ke perangkat yang terhubung kecuali 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 terdekat (misalnya, menggunakan setelan DevicePolicyManager di Android).
  • Harus memastikan bahwa tampilan jarak jauh dan semua sumber kejadian input jarak jauh berada pada perangkat logis yang sama (misalnya, tampilan jarak jauh dan keyboard yang tersambung) dari perspektif pengguna dan kejadian dirutekan sesuai.
  • Pengguna harus dapat mengakhiri streaming dari perangkat lokal, misalnya dengan menggunakan tombol di notifikasi terus-menerus. Perilaku ini dilindungi oleh layar kunci, jika ponsel telah menyetel kunci layar.
  • Harus menunjukkan keterjangkauan pada perangkat sumber saat streaming terjadi di perangkat lain, seperti ikon di bilah status atau pemberitahuan terus-menerus.