Android 10'daki telefon hesabı öneri hizmeti, arama yaparken kullanıcılara 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 ücretlere sahip bir cihaza sahip kullanıcılar için bu hizmet, önce aranan kullanıcının operatörünü belirler, ardından SIM'in aranan kişiyle aynı ağda 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 cihazlarda kullanılabilir.
Uygulama
Telefon hesabı önerilerini uygulamak için /system/priv-app/
içinde bulunan bir uygulamada tek bir
PhoneAccountSuggestionService
hizmeti uygulayın. Birden fazla PhoneAccountSuggestionService
uygulanırsa hizmet sorgulanmaz. 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)
numarasını 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 numara çeviricide kullanıcıya aktarılabilir.
Ö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
sayfasına göz atı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 üzere setComponentEnabledSetting
kullanarak hizmeti etkinleştirebilir veya devre dışı bırakabilirsiniz.
Devre dışı bırakılırsa hizmet sorgulanmamaktadı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:
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionServiceTest.java
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionTest.java