도메인 선택 서비스

Android 15 이상을 실행하는 기기의 경우 다음 작업을 할 수 있습니다. 도메인 선택 구현 IMS 서비스와 레거시 서비스 간을 회로 교환 네트워크를 통해 DomainSelectionService 시스템 API DomainSelectionService Android 플랫폼과 제공된 공급업체 간의 잘 정의된 인터페이스 도메인 선택 구현입니다. 이 인터페이스를 사용하면 공급업체 구현 시 발신 전화 및 SMS 수신 도메인과 같은 신호 정보를 제공합니다. 네트워크 스캔의 네트워크 유형 환경설정이 플랫폼에 적용됩니다.

도메인 선택 아키텍처

그림 1. 도메인 선택 기능의 아키텍처 다이어그램

예 및 소스

Android는 다음에서 도메인 선택 기능을 위한 참조 구현을 제공합니다. TelephonyDomainSelectionService의 AOSP 자세한 내용은 DomainSelectionService API 문서는 다음을 참고하세요. DomainSelectionService 및 API의 다른 클래스

구현

Android 기기에서 도메인 선택 기능을 구현하려면 다음 단계를 따르세요. 필요한 단계는 다음과 같습니다.

  1. 도메인 선택 앱을 만듭니다. 서비스는 AndroidManifest.xml 파일.

  2. 플랫폼이 DomainSelectionService 구현.

  3. 도메인 선택 기능에 필요한 라디오 HAL 인터페이스를 지원합니다.

이 섹션에서는 이러한 단계를 자세히 설명합니다.

AndroidManifest.xml에 서비스 항목 추가

도메인 선택 앱에서 DomainSelectionService 서비스를 등록하기 위한 경우 프레임워크에서 다음을 사용하여 매니페스트 파일에 서비스 항목을 추가합니다. 형식:

<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의 서비스 정의는 다음을 정의해야 합니다. 특성이 포함될 수 있습니다

  • directBootAware="true": 다음을 통해 서비스를 검색하고 실행할 수 있도록 합니다. 전화 통화를 잠금 해제해야 합니다. 서비스에서 액세스할 수 없음 암호화된 기기 저장소로 전송됩니다. 자세한 내용은 정보, 직접 부팅 지원 모드파일 기반 암호화를 참조하세요.

  • persistent="true": 서비스를 영구적으로 실행하지 않고 실행할 수 있게 합니다. 메모리 회수를 위해 시스템에 의해 종료됩니다. 이 속성은 오직 시스템 앱으로 빌드되었습니다.

  • permission="android.permission.BIND_DOMAIN_SELECTION_SERVICE": BIND_DOMAIN_SELECTION_SERVICE 권한이 있는 프로세스만 앱에 바인딩될 수 있습니다. 이렇게 하면 악성 앱이 이는 시스템 앱만 권한을 부여할 수 있기 때문에 프레임워크입니다

또한 서비스는 다음과 같이 intent-filter 요소를 지정해야 합니다. android.telephony.DomainSelectionService 작업 이를 통해 프레임워크는 DomainSelectionService 서비스에만 적용됩니다.

기기 오버레이에 구성 정의

플랫폼이 DomainSelectionService 서비스에 안전하게 바인딩되도록 하려면 다음을 추가합니다. 기기 오버레이에 다음 구성을 추가해야 합니다.

Android는 타사의 다운로드 가능한 앱이 있는 앱을 지원하지 않기 때문입니다. DomainSelectionService 구현은 도메인 선택 앱이 /system_ext/priv-app/ 또는 /product/priv-app/에 있는 시스템 앱 있습니다. 프레임워크는 구현의 패키지 이름이 신뢰할 수 있는 사전 설치된 앱만 허용되도록 기기 오버레이 값과 일치 바인딩합니다.

라디오 HAL 인터페이스 지원

도메인 선택 기능을 사용 설정하려면 다음 필수 라디오 HAL을 지원하세요. 인터페이스:

  • 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);
    

유효성 검사

텔레포니 프레임워크가 DomainSelectionService 인터페이스를 사용하면 다음 위치에서 CTS 테스트를 실행할 수 있습니다. DomainSelectionServiceTestOnMockModem