Android 9를 실행하는 기기는 ID 및 이동통신사 이름을 제공할 수 있도록 가입된 이동통신사 정보를 인식할 수 있습니다. Android는 각 이동통신사와 고유한 이동통신사 ID의 매칭 규칙으로 이동통신사 ID 데이터베이스를 유지합니다. AOSP의 carrier_list.textpb
파일에는 이동통신사 ID 데이터베이스의 콘텐츠가 포함됩니다.
통합 데이터베이스는 이동통신사를 식별해야 하는 앱의 중복 로직을 최소화하고 이동통신사를 식별하는 속성의 노출을 제한합니다.
이동통신사 ID의 범위 및 정확성을 개선하기 위해 Android는 대역 외 업데이트 및 이동통신사 ID 테이블 업데이트를 지원합니다. 각 업데이트는 버전 번호와 함께 제공되며 AOSP에 게시됩니다.
구현
대역 외 업데이트를 구현하려는 사용자는 AOSP에서 carrier_list.pb
바이너리를 다운로드할 수 있습니다. 읽을 수 있는 테이블 형식을 보려면 carrier_list.textpb
를 확인하세요.
이동통신사 ID 테이블을 기기의 /data/misc/carrierid/
데이터 파티션에 배치합니다. 이동통신사 ID 테이블이 기존 버전보다 최신이면 기기는 테이블을 이동통신사 ID 데이터베이스 클래스에 유지합니다.
이동통신사 ID 데이터베이스의 최신 정보는 공개 메서드 getSimCarrierId()
및 getSimCarrierIdName()
을 통해 가져올 수 있습니다.
데이터베이스에 이동통신사 ID 정보 추가
이동통신사 ID를 데이터베이스에 추가하거나 업데이트하려면 이동통신사 ID 정보 양식을 사용하여 요청을 제출합니다.
요청이 검토 및 승인되면 변경사항이 carrier_list.pb
의 ASOP 코드베이스로 푸시됩니다.
그러면 업데이트된 목록을 복사한 후 맞춤설정된 빌드에 통합할 수 있습니다.
CarrierConfig와 이동통신사 ID 통합
Android 10부터는 이동통신사 구성에서 이동통신사 ID를 키로 사용하여 CarrierService
에서 이동통신사 관련 구성을 가져오도록 지원합니다.
이동통신사 ID를 CarrierConfig
와 통합하면 다음과 같은 이점을 얻을 수 있습니다.
- 각 이동통신사의 모든 MCC/MNC 쌍을 단일 위치로 통합하여 중복 또는 불일치 데이터를 삭제할 수 있습니다.
- 각 이동통신사의 표준 식별자를 생성하여 모호함을 없앨 수 있습니다.
- 구성을 모바일 네트워크 운영자(MNO)의 일부로 보유하는 대신 개별 ID로 가상 모바일 네트워크 운영자(MVNO)를 식별할 수 있습니다.
구성 데이터를 이동통신사 ID로 이전
MCC/MNC 쌍의 구성 데이터를 이동통신사 ID로 이전하려면 아래의 단계를 따르세요.
단일 이동통신사의
carrier_config_mccmnc.xml
파일을 함께 그룹화합니다.carrier_list.textpb
를 참조로 사용하여 MCC, MNC 및 MVNO 정보를 특정 이동통신사에 매핑합니다.구성을 단일 파일로 병합합니다.
(선택사항) MNO의 데이터를 상속합니다. MVNO는 레거시
carrier_config_mccmnc.xml
파일에서 MNO의 구성을 상속합니다. 이동통신사 ID를 사용하면 MVNO를 포함한 모든 이동통신사가 전용 구성 파일을 보유할 수 있으므로 이전 도중에 MNO 데이터를 포함하는 것이 좋습니다.MVNO 이동통신사 ID의 구성이 존재하지 않으면
getCarrierIdFromSimMccMnc
를 사용하여 MNO 이동통신사 ID에서 구성을 가져옵니다.새 파일의 이름을
carrier_config_carrierid_carrierid_carriername.xml
로 변경합니다. 여기서 carrierid는canonical_id
와 일치해야 하며 carriername은carrier_list.textpb
의carrier_name
과 일치해야 합니다.