Di Android 10, layanan saran akun telepon memungkinkan saran untuk akun telepon ditampilkan kepada pengguna saat melakukan panggilan. Misalnya, untuk pengguna yang memiliki perangkat dengan beberapa SIM dan tarif lebih rendah untuk panggilan intra-jaringan, layanan ini akan mengidentifikasi operator penerima terlebih dahulu, lalu menyarankan penggunaan SIM di jaringan yang sama dengan penerima.
Layanan saran akun telepon bersifat opsional dan dapat diterapkan di perangkat yang menjalankan Android 10 atau yang lebih tinggi.
Penerapan
Untuk menerapkan saran akun telepon, terapkan satu
PhoneAccountSuggestionService
layanan di aplikasi yang berada di /system/priv-app/. Layanan tidak akan dikueri jika lebih dari satu PhoneAccountSuggestionService diterapkan. Layanan harus mendeklarasikan izin android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE.
Saat pengguna melakukan panggilan keluar yang tidak memiliki
akun telepon keluar default
maupun
akun telepon pilihan
yang ditetapkan untuk penerima, layanan telekomunikasi akan terikat ke
PhoneAccountSuggestionService untuk mengumpulkan informasi tentang akun,
onAccountSuggestionRequest(String number)
akan dipanggil, dan proses panggilan keluar akan ditangguhkan.
PhoneAccountSuggestionService harus memanggil
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
dengan nomor yang ditampilkan oleh
onAccountSuggestionRequest(String number).
Saat
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
dipanggil, layanan telekomunikasi akan menampilkan daftar akun telepon yang disarankan. Kemudian, dialer harus menampilkan daftar akun telepon yang disarankan agar pengguna dapat memilih akun yang akan digunakan untuk melakukan panggilan.
PhoneAccountSuggestion
Untuk memberikan saran, gunakan the
PhoneAccountSuggestion
class.
Misalnya, jika layanan menentukan bahwa penerima menggunakan operator yang sama dengan salah satu
SIM di perangkat, layanan harus menandai akun telepon dengan
REASON_INTRA_CARRIER.
Informasi ini kemudian dapat disampaikan kepada pengguna di dialer.
Misalnya, dalam situasi saat pengguna telah mengonfigurasi perangkat untuk menggunakan
SIM kerja untuk semua kontak
di Akun Google kerja, layanan harus menandai akun telepon dengan
REASON_USER_SET
dan menetapkan
shouldAutoSelect
ke benar (true) agar dialer dapat melewati dialog pemilihan dan otomatis
melakukan panggilan menggunakan akun telepon.
Untuk mengetahui informasi tentang saran lainnya, lihat
PhoneAccountSuggestion.
Dialer
Saat panggilan memasuki status
STATE_SELECT_PHONE_ACCOUNT, dialer harus menggunakan informasi dari
PhoneAccountSuggestion
untuk menangani
EXTRA_SUGGESTED_PHONE_ACCOUNTS.
Menonaktifkan layanan
Untuk menyesuaikan penerapan bagi operator tertentu, Anda dapat mengaktifkan atau
menonaktifkan layanan menggunakan
setComponentEnabledSetting.
Layanan tidak akan dikueri jika dinonaktifkan.
Penerapan UI sistem
Bergantung pada penerapan Anda, perubahan pada UI sistem mungkin diperlukan. Misalnya, untuk memungkinkan pengguna menentukan bahwa semua panggilan ke kontak tertentu dilakukan dari akun telepon tertentu, Anda harus menerapkan alur penyiapan dan UI setelan yang disesuaikan untuk perangkat.
Validasi
Untuk memvalidasi penerapan Anda, jalankan pengujian CTS berikut: