Saran akun ponsel

Di Android 10, layanan saran akun telepon memungkinkan saran untuk akun ponsel ditampilkan kepada pengguna saat melakukan panggilan. Misalnya, untuk pengguna yang memiliki perangkat dengan beberapa SIM dan tarif panggilan intra-jaringan yang lebih rendah, layanan ini terlebih dahulu mengidentifikasi operator tujuan panggilan, lalu menyarankan untuk menggunakan SIM di jaringan yang sama dengan tujuan 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 satu layanan PhoneAccountSuggestionService di aplikasi yang berada di /system/priv-app/. Layanan tidak dibuat kueri jika lebih dari satu PhoneAccountSuggestionService diterapkan. Layanan harus mendeklarasikan izin android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE.

Saat pengguna melakukan panggilan keluar, baik akun telepon keluar default maupun akun telepon pilihan tidak ditetapkan untuk penerima, 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. Selanjutnya, dialer harus menampilkan daftar akun telepon yang disarankan untuk dipilih pengguna guna melakukan panggilan.

PhoneAccountSuggestion

Untuk memberikan saran, gunakan class PhoneAccountSuggestion. Misalnya, jika layanan menentukan bahwa pemanggil berada di operator yang sama dengan salah satu SIM di perangkat, layanan harus menandai akun ponsel dengan REASON_INTRA_CARRIER. Informasi ini kemudian dapat disampaikan kepada pengguna melalui telepon.

Misalnya, dalam situasi saat pengguna telah mengonfigurasi perangkat agar menggunakan SIM kerja untuk semua kontak di Akun Google kerja, layanan harus menandai akun telepon tersebut dengan REASON_USER_SET dan menyetel shouldAutoSelect ke benar (true) untuk memungkinkan penelepon mengabaikan dialog pemilihan dan otomatis melakukan panggilan menggunakan akun ponsel.

Untuk 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 untuk operator tertentu, Anda dapat mengaktifkan atau menonaktifkan layanan menggunakan setComponentEnabledSetting. Layanan tidak dikueri jika dinonaktifkan.

Implementasi UI sistem

Bergantung pada penerapan 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 dan UI setelan yang disesuaikan untuk perangkat.

Validasi

Untuk memvalidasi implementasi Anda, jalankan pengujian CTS berikut: