Android 10'da telefon hesabı öneri hizmeti, arama yaparken kullanıcılara telefon hesabı önerilerinin gösterilmesine olanak tanıyor. Örneğin, birden fazla SIM'e sahip ve ağ içi aramalar için daha düşük tarifelere sahip bir cihaza sahip kullanıcılar için, bu hizmet önce aranan kişinin operatörünü tanımlar ve ardından SIM'in aranan kişiyle aynı ağ üzerinde kullanılmasını önerir.
Telefon hesabı öneri hizmeti isteğe bağlıdır ve Android 10 veya sonraki sürümleri çalıştıran cihazlara uygulanabilir.
Uygulama
Telefon hesabı önerilerini uygulamak için, /system/priv-app/
konumunda bulunan bir uygulamada bir PhoneAccountSuggestionService
hizmetini uygulayın. Birden fazla PhoneAccountSuggestionService
uygulanmışsa hizmet sorgulanmaz. Hizmetin android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE
iznini beyan etmesi gerekir.
Bir kullanıcı, aranan kişi için ne varsayılan giden telefon hesabının ne de tercih edilen telefon hesabının ayarlanmadığı bir giden arama yaptığında, telekom hizmeti hesaplar hakkında bilgi toplamak için PhoneAccountSuggestionService
bağlanır, onAccountSuggestionRequest(String number)
çağrılır ve giden arama süreç askıya alınır.
PhoneAccountSuggestionService
onAccountSuggestionRequest(String number)
tarafından döndürülen numarayla suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
çağırmalıdır.
suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
çağrıldığında, telekom hizmeti önerilen telefon hesaplarının bir listesini döndürür. Çevirici daha sonra kullanıcının arama yapmak için seçebileceği önerilen telefon hesaplarının listesini görüntülemelidir.
TelefonHesapÖnerisi
Öneride bulunmak 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, hizmetin telefon hesabını REASON_INTRA_CARRIER
ile işaretlemesi gerekir. Bu bilgi daha sonra çeviricideki kullanıcıya iletilebilir.
Örneğin, kullanıcının cihazı, iş Google hesabındaki tüm kişiler için iş SIM'i kullanacak şekilde yapılandırdığı bir durumda, hizmetin telefon hesabını REASON_USER_SET
ile işaretlemesi ve çeviricinin seçim iletişim kutusunu atlamasına izin vermek için shouldAutoSelect
true olarak ayarlaması gerekir. ve telefon hesabını kullanarak aramayı otomatik olarak yapın.
Diğer öneriler hakkında bilgi için bkz. PhoneAccountSuggestion
.
Çevirici
Çağrı STATE_SELECT_PHONE_ACCOUNT
durumuna girdiğinde, çeviricinin EXTRA_SUGGESTED_PHONE_ACCOUNTS
işlemek için PhoneAccountSuggestion
bilgileri kullanması gerekir.
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. Hizmet devre dışı bırakılırsa sorgulanmaz.
Sistem kullanıcı arayüzü uygulaması
Uygulamanıza bağlı olarak sistem kullanıcı arayüzünde değişiklikler yapılması gerekebilir. Örneğin, kullanıcıların belirli bir kişiye 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 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:
-
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionServiceTest.java
-
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionTest.java