Di Android 10, layanan saran akun telepon memungkinkan saran akun telepon ditampilkan kepada pengguna saat melakukan panggilan. Misalnya, untuk pengguna dengan perangkat dengan beberapa SIM dan tarif yang lebih rendah untuk panggilan intra-jaringan, layanan ini pertama-tama mengidentifikasi operator penerima panggilan, lalu menyarankan penggunaan SIM di jaringan yang sama dengan penerima panggilan.
Layanan saran akun ponsel bersifat opsional dan dapat diterapkan di perangkat yang menjalankan Android 10 atau yang lebih tinggi.
Implementasi
Untuk menerapkan saran akun telepon, terapkan layanan satu
PhoneAccountSuggestionService
di aplikasi yang berada di /system/priv-app/
. Layanan tidak
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 panggilan, layanan telekomunikasi akan terikat ke
PhoneAccountSuggestionService
untuk mengumpulkan informasi tentang akun,
onAccountSuggestionRequest(String number)
dipanggil, dan proses panggilan keluar 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,
aplikasi telepon harus menampilkan daftar akun telepon yang disarankan agar pengguna dapat
memilih akun yang akan digunakan untuk melakukan panggilan.
PhoneAccountSuggestion
Untuk membuat saran, gunakan class
PhoneAccountSuggestion.
Misalnya, jika layanan menentukan bahwa penerima panggilan 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 aplikasi telepon.
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 aplikasi telepon dapat melewati dialog pemilihan dan secara otomatis
melakukan panggilan menggunakan akun telepon.
Untuk mengetahui informasi tentang saran lainnya, lihat
PhoneAccountSuggestion
.
Dialer
Saat panggilan memasuki status
STATE_SELECT_PHONE_ACCOUNT
, aplikasi telepon harus menggunakan informasi dari
PhoneAccountSuggestion
untuk menangani
EXTRA_SUGGESTED_PHONE_ACCOUNTS
.
Menonaktifkan layanan
Untuk menyesuaikan penerapan Anda untuk operator tertentu, Anda dapat mengaktifkan atau menonaktifkan layanan menggunakan
setComponentEnabledSetting
.
Layanan tidak dikueri jika dinonaktifkan.
Implementasi UI sistem
Bergantung pada implementasi Anda, perubahan pada UI sistem mungkin diperlukan. Misalnya, untuk mengizinkan pengguna menentukan bahwa semua panggilan ke kontak tertentu dilakukan dari akun telepon tertentu, Anda harus menerapkan alur penyiapan yang disesuaikan dan UI setelan untuk perangkat.
Validasi
Untuk memvalidasi implementasi Anda, jalankan pengujian CTS berikut: