Android 10'da telefon hesabı önerisi hizmeti, kullanıcılar arama yaparken telefon hesabı önerilerinin gösterilmesine olanak tanır. Örneğin, birden fazla SIM kartı olan ve ağ içi aramalar için daha düşük ücretler sunan bir cihazı olan kullanıcılar için bu hizmet önce aranan tarafın operatörünü tanımlar, ardından aranan tarafın operatörüyle aynı ağdaki SIM'in kullanılmasını önerir.
Telefon hesabı önerisi hizmeti isteğe bağlıdır ve Android 10 veya sonraki sürümlerin yüklü olduğu cihazlarda kullanılabilir.
Uygulama
Telefon hesabı önerilerini uygulamak için /system/priv-app/
konumundaki bir uygulamada bir
PhoneAccountSuggestionService
hizmetini uygulayın. Birden fazla PhoneAccountSuggestionService
uygulanırsa hizmet sorgulanmaz. Hizmet, android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE
iznini beyan etmelidir.
Bir kullanıcı, aranan taraf için varsayılan giden telefon hesabı veya tercih edilen telefon hesabı ayarlanmamış bir giden arama yaptığında telekom hizmeti, hesaplarla ilgili bilgi toplamak için PhoneAccountSuggestionService
ile 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)
'ı 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 çevirici, kullanıcının arama yapmak için seçebileceği önerilen telefon hesaplarının listesini göstermelidir.
PhoneAccountSuggestion
Öneri yapmak için PhoneAccountSuggestion sınıfını kullanın.
Örneğin, hizmet aranan kişinin cihazdaki SIM'lerden biriyle aynı operatörde olduğunu belirlerse hizmet, 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'ini kullanacak şekilde yapılandırdığı bir durumda, hizmet telefon hesabını REASON_USER_SET
ile işaretlemeli ve arama uygulamasının seçim iletişim kutusunu atlayıp aramayı otomatik olarak telefon hesabını kullanarak yapmasına izin vermek için shouldAutoSelect
değerini doğru olarak ayarlamalıdır.
Diğer öneriler hakkında bilgi edinmek için PhoneAccountSuggestion
başlıklı makaleyi inceleyin.
Dialer
Arama STATE_SELECT_PHONE_ACCOUNT
durumuna girdiğinde çevirici, EXTRA_SUGGESTED_PHONE_ACCOUNTS
işlemini gerçekleştirmek için PhoneAccountSuggestion
bilgilerini kullanmalıdır.
Hizmeti devre dışı bırakma
Uygulamanızı belirli operatörlere göre özelleştirmek için setComponentEnabledSetting
kullanarak hizmeti etkinleştirebilir veya devre dışı bırakabilirsiniz.
Devre dışı bırakılırsa hizmete sorgu gönderilmez.
Sistem kullanıcı arayüzü uygulama
Uygulamanıza bağlı olarak sistem kullanıcı arayüzünde değişiklik yapmanız gerekebilir. Örneğin, kullanıcıların belirli bir kişiye yapılan tüm aramaların belirli bir telefon hesabından yapılacağını belirtmesine izin vermek için cihazda özelleştirilmiş bir kurulum akışı ve ayarlar kullanıcı arayüzü uygulamanız gerekir.
Doğrulama
Uygulamanızı doğrulamak için aşağıdaki CTS testlerini çalıştırın: