Alan adı seçim hizmeti

Android 15 veya sonraki sürümleri çalıştıran cihazlarda: alan seçimini uygula devre arası geçişli ağlar üzerinden IMS hizmeti ile eski hizmetler arasında DomainSelectionService sistem API'sini kullanın. DomainSelectionService. Android platformu ve Android platformu ile sağlanan satıcı arasında iyi tanımlanmış bir arayüzdür alan adı seçiminin uygulanması. Bu arayüz, tedarikçi firmanın uygulamasını Giden arama ve SMS alan adı gibi sinyal bilgilerini sağlama ağ taramasındaki ağ türü tercihini ve ağ türü tercihini platforma göre ayarlar.

alan-seçimi-mimarisi

Şekil 1. Alan seçimi özelliğinin mimari şeması

Örnekler ve kaynak

Android, şurada alan seçimi özelliği için bir referans uygulaması sağlar: AOSP, TelephonyDomainSelectionService. Ayrıntılı DomainSelectionService API'si hakkındaki dokümanlar için bkz. DomainSelectionService ve API'deki diğer sınıflar.

Uygulama

Bir Android cihaza alan seçimi özelliğini uygulamak için aşağıdaki adım adım gereklidir:

  1. Alan adı seçim uygulaması oluşturun. Hizmet, AndroidManifest.xml dosyası yükleyin.

  2. Platformun DomainSelectionService uygulaması.

  3. Alan seçimi özelliği için gerekli radyo HAL arayüzlerini destekleme

Bu bölümde, söz konusu adımlarla ilgili daha ayrıntılı bilgi verilmektedir.

AndroidManifest.xml dosyasına hizmet girişi ekle

Alan seçimi uygulamanızın DomainSelectionService hizmetini kaydetmesi için aşağıdaki komutu kullanarak manifest dosyasına bir hizmet girişi ekleyin biçim:

<service
     android:name="com.example.domainselection.DomainSelectionService"
     android:directBootAware="true"
     android:persistent="true"
     …
     android:permission="android.permission.BIND_DOMAIN_SELECTION_SERVICE"
     …
    <intent-filter>
        <action android:name="android.telephony.DomainSelectionService"/>
    </intent-filter>
    …
</service>

AndroidManifest.xml öğesindeki hizmet tanımı aşağıdakileri tanımlamalıdır: özellikleri hakkında daha fazla bilgi edinin.

  • directBootAware="true": Hizmetin şu kullanıcı tarafından keşfedilmesini ve çalıştırılmasını sağlar: telefonun kilidini açmadan önce telefon eder. Hizmet erişemiyor cihazla şifrelenmiş depolama alanını kullanır. Daha fazla bilgi, Destek Doğrudan Başlatma modu ve Dosya Tabanlı Şifreleme adlı makaleleri inceleyin.

  • persistent="true": Hizmetin kalıcı olarak çalıştırılmasına izin verir. sonlandırılmış silme işleminden sonra çalıştırılabilir. Bu özellik yalnızca uygulamanız bir sistem uygulaması olarak geliştirildi.

  • permission="android.permission.BIND_DOMAIN_SELECTION_SERVICE": Şunları sağlar: Bu işlem, yalnızca BIND_DOMAIN_SELECTION_SERVICE iznine sahip olan bir işlem sunar. uygulamaya bağlanabilir. Bu, sahte bir uygulamanın Çünkü uygulama tarafından yalnızca sistem uygulamalarına izin bahsedeceğim.

Hizmet ayrıca intent-filter öğesini android.telephony.DomainSelectionService işlem. Bu, çerçevenin DomainSelectionService hizmeti.

Cihaz yer paylaşımında yapılandırmayı tanımlayın

Platformun DomainSelectionService hizmetine güvenli bir şekilde bağlanması için cihaz yer paylaşımına aşağıdaki yapılandırmayı uygular:

Android, üçüncü tarafların indirilebilir uygulamaları olan uygulamaları desteklemediği için DomainSelectionService uygulamaları için alan adı seçim uygulaması /system_ext/priv-app/ veya /product/priv-app/ içinde bulunan sistem uygulaması tıklayın. Çerçeve, uygulamanın paket adının cihaz yer paylaşımı değeriyle eşleşir. Böylece, yalnızca güvenilir, önceden yüklenmiş uygulamaların bağlı.

Radyo HAL arayüzlerini destekleme

Alan adı seçme özelliğini etkinleştirmek için aşağıdaki gerekli radyo HAL'sini destekleyin arayüzler:

  • IRadioNetwork

    void setEmergencyMode(int serial, EmergencyMode emcModeType);
    void triggerEmergencyNetworkScan(int serial,
            EmergencyNetworkScanTrigger request);
    void cancelEmergencyNetworkScan(int serial, boolean resetScan);
    void exitEmergencyMode(int serial);
    
  • IRadioNetworkIndication

    void emergencyNetworkScanResult(RadioIndicationType type,
            EmergencyRegResult result);
    

Doğrulama

Telefon çerçevesinin DomainSelectionService arayüzü, CTS testlerini DomainSelectionServiceTestOnMockModem