Android 10'daki telefon hesabı önerisi hizmeti, arama yaparken kullanıcılara telefon hesabı önerilerinin gösterilmesine olanak tanır. Örneğin, birden fazla SIM'i olan ve ağ içi aramalar için daha düşük ücretlere sahip bir cihaz kullanan kullanıcılar için bu hizmet, önce aranan kullanıcının operatörünü tanımlar ve ardından aranan kullanıcıyla aynı ağdaki SIM'i kullanmayı önerir.
Telefon hesabı önerisi hizmeti isteğe bağlıdır ve Android 10 veya sonraki sürümleri çalıştıran cihazlarda uygulanabilir.
Uygulama
Telefon hesabı önerilerini uygulamak için /system/priv-app/
'te bulunan bir uygulamada PhoneAccountSuggestionService
hizmetini bir kez uygulayın. Birden fazla PhoneAccountSuggestionService
uygulanırsa hizmet sorgulanmamaktadır. Hizmet, android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE
iznini belirtmelidir.
Kullanıcı, aranan kişi için varsayılan giden telefon hesabının veya tercih edilen telefon hesabının ayarlanmadığı bir giden arama yaptığında telekom hizmeti, hesaplar hakkında bilgi toplamak için PhoneAccountSuggestionService
'e bağlanır, onAccountSuggestionRequest(String number)
çağrılır ve giden arama işlemi askıya alınır.
PhoneAccountSuggestionService
, onAccountSuggestionRequest(String number)
tarafından döndürülen numarayla suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
'yi aramalıdır.
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
çağrıldığında telekom hizmeti, önerilen telefon hesaplarının listesini döndürür. Ardından, kullanıcının arama yapmak için aralarından seçim yapabileceği önerilen telefon hesaplarının listesi numara çeviricide gösterilmelidir.
PhoneAccountSuggestion
Öneride bulunmak için PhoneAccountSuggestion sınıfını kullanın.
Örneğin, hizmet aranan kişinin cihazdaki SIM kartlardan biriyle aynı operatörde olduğunu belirlerse telefon hesabını REASON_INTRA_CARRIER
ile işaretlemelidir.
Bu bilgiler daha sonra çeviricide kullanıcıya iletilebilir.
Örneğin, kullanıcının cihazı bir iş Google Hesabındaki tüm kişiler için iş SIM'i kullanacak şekilde yapılandırdığı durumlarda, hizmet telefon hesabını REASON_USER_SET
ile işaretleyip shouldAutoSelect
değerini doğru olarak ayarlamalıdır. Böylece, çevirici seçim iletişim kutusunu atlayabilir ve aramayı telefon hesabını kullanarak otomatik olarak yapabilir.
Diğer öneriler hakkında bilgi edinmek için PhoneAccountSuggestion
bölümüne bakın.
Dialer
Arama STATE_SELECT_PHONE_ACCOUNT
durumuna girdiğinde, EXTRA_SUGGESTED_PHONE_ACCOUNTS
işlemini gerçekleştirmek için çevirici PhoneAccountSuggestion
bilgilerini kullanmalıdır.
Hizmeti devre dışı bırakma
Uygulamanızı belirli operatörler için özelleştirmek istiyorsanız setComponentEnabledSetting
kullanarak hizmeti etkinleştirebilir veya devre dışı bırakabilirsiniz.
Devre dışı bırakılırsa hizmet sorgulanmayacaktır.
Sistem kullanıcı arayüzü uygulama
Uygulamanıza bağlı olarak sistem kullanıcı arayüzünde değişiklik yapılması gerekebilir. Örneğin, kullanıcıların belirli bir kişiyle yapılan tüm aramaların belirli bir telefon hesabından yapıldığını belirtmesine izin vermek için cihaz için özelleştirilmiş bir kurulum akışı ve ayar kullanıcı arayüzü uygulamanız gerekir.
Doğrulama
Uygulamanızı doğrulamak için aşağıdaki CTS testlerini çalıştırın: