2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
엔터프라이즈 전화 통신 구현
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 엔터프라이즈 사용 사례를 지원하는 Android 프레임워크의 전화 통신 관련 부분을 개략적으로 설명합니다. 이 문서는 제조업체를 대상으로 작성되었으며 프레임워크와 관련된 전화 통신 변경 사항에 관해 집중적으로 설명합니다. 또한 이 페이지에서는 OEM에서 전화 통신 관련 기능을 처리하는 미리 로드된 앱에 적용해야 하는 변경사항에 관해서도 설명합니다.
Android 7.0에는 엔터프라이즈 전화 통신 사용 사례를 지원하는 여러 새로운 기능이 도입되었는데, 특히 다음과 같은 기능이 있습니다.
- 프로필 간 연락처 검색 - 개인 프로필의 앱이 관리 프로필 연락처 제공자가 공급하는 연락처를 검색할 수 있도록 합니다. 이러한 연락처는 예를 들어 기기의 로컬 데이터 저장소 또는 엔터프라이즈 디렉터리 내에 있는 모든 데이터 저장소에서 지원할 수 있습니다.
- 프로필 연락처 간 배지 설정 - 개인 연락처에서 직장 연락처를 확실하게 구분할 수 있습니다.
- 연결 서비스가 관리 프로필을 인식하도록 설정 - 관리 프로필 내의 앱이 개별 업무용 다이얼러 및 업무용 연결 서비스 제공과 같은 전화 통신 기능을 제공하도록 합니다.
Android 5.0에서는 다음 엔터프라이즈 전화 통신 기능을 지원했습니다.
예 및 소스
다이얼러, 연락처 및 메시지 앱의 Android 오픈소스 프로젝트(AOSP) 구현은 프로필 간 연락처 검색 및 배지 설정 기능을 통합했습니다.
예:
- 직장 연락처에 배지 추가:
packages/apps/ContactsCommon
f3eb5a207bfe0ff3b4ed2350ae5865ed8bc59798 참고
- 프로필 간 검색:
packages/apps/ContactsCommon
cd0b29ddbf3648e48f048196c62245d545bc6122 참고
구현
기기 구현자는 다이얼러 연락처 및 SMS 또는 MMS 메시지 앱에서 연락처의 프로필 간 검색, 조회, 배지를 구현해야 합니다.
프로필 간 연락처 검색은 Enterprise Contacts API(ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI
등)를 사용하여 구현해야 합니다. 이러한 API는 Android 개발자 사이트의 직장 프로필 연락처 가이드에서 찾을 수 있습니다.
직장 프로필 연락처 배지 설정은 가능하면 ContactsContract.Directory.isEnterpriseDirectoryId()
를 확인하여 구현하고 그렇지 않으면 isEnterpriseContactId()
를 확인하여 구현할 수 있습니다. 자세한 내용은 직장 프로필 연락처를 참조하세요.
관리 프로필에서 ConnectionService 인식
제조업체에서는 이 기능을 지원하기 위해 프레임워크 코드를 수정할 필요가 없지만, 이 기능이 통신 서비스 및 기타 전화 통신 기능에 미치는 영향을 알고 있어야 합니다.
유효성 검사
프로필 간 연락처 검색 및 배지 설정 기능은 다음 단계를 수행해 확인할 수 있습니다.
- 테스트 기기에서 TestDPC를 사용하여 관리 프로필을 설정합니다.
- 프로필 간 연락처 검색을 활성화합니다.
- 관리 프로필 내에서 로컬 직장 연락처를 추가합니다.
- 개인 프로필 내 시스템 다이얼러 연락처 및 SMS/MMS 메시지 앱에서 연락처를 검색하고 연락처가 있는지 그리고 이 연락처에 올바르게 배지가 설정되었는지 확인합니다.
기본 프로필 간 연락처 검색 API가 com/android/cts/managedprofile/ContactsTest.java
에 구현되었는지 확인하기 위해 CTS 테스트가 추가되었습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Implement enterprise telephony\n\nThis page outlines the telephony-related parts of the Android framework that\nsupport enterprise use cases. This document is targeted at manufacturers and\nfocuses entirely on framework-related telephony changes. In addition, this\npage outlines the changes that OEMs need to make to their preloaded\napps that handle telephony-related functions.\n\n\nAndroid 7.0 introduced several new features to support enterprise telephony use\ncases, in particular:\n\n- Cross profile contact search - Allows apps in the personal profile to search for contacts that are supplied by the managed profile contacts provider, which can be backed by any datastore, for example local to the device or perhaps within an enterprise directory.\n- Cross profile contact badging - Allows work contacts to be clearly distinguished from personal contacts.\n- Making Connection Service managed profile aware - Allows apps within the Managed Profile to offer telephony features, such as to provide a separate work dialer and work ConnectionService\n\n\nAndroid 5.0 supported the following enterprise telephony feature:\n\n- Work contact name lookup for telephone numbers using [`ENTERPRISE_CONTENT_FILTER_URI`](https://developer.android.com/reference/android/provider/ContactsContract.PhoneLookup#ENTERPRISE_CONTENT_FILTER_URI)\n\nExamples and source\n-------------------\n\n\nThe Android Open Source Project (AOSP) implementations of Dialer, Contacts, and\nMessaging apps have integrated the cross profile contact search and badging\ncapability.\n\nExamples:\n\n- **Adding badge to work contacts:** See `packages/apps/ContactsCommon` *f3eb5a207bfe0ff3b4ed2350ae5865ed8bc59798*\n- **Cross profile search:** See `packages/apps/ContactsCommon` *cd0b29ddbf3648e48f048196c62245d545bc6122*\n\nImplementation\n--------------\n\n\nDevice implementers must implement cross-profile, search, lookup and badging\nfor contacts in their Dialer Contacts and SMS or MMS messaging apps.\n\n### Cross-profile contact search\n\n\nCross profile contact search should be implemented using the Enterprise Contacts\nAPI (`ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI` etc.), which can be found\nin the\n[Work\nprofile contacts](https://developer.android.com/work/contacts) guide on the Android Developers site.\n\n### Work profile contact badging\n\n\nWork profile contact badging can be implemented by checking\n`ContactsContract.Directory.isEnterpriseDirectoryId()` if available or\n[`isEnterpriseContactId()`](http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html#isEnterpriseContactId(long)). To learn more, see\n[Work profile contacts](https://developer.android.com/work/contacts).\n\n### Managed Profile Aware\nConnectionService\n\n\nManufacturers should not need to modify the framework code to support this\nfunctionality, but should be aware of its impact on the Telecomm service and\nother telephony features.\n\nValidation\n----------\n\n\nThe cross profile contact search and badging feature can be validated by:\n\n1. Setting up a managed profile on a test device using [TestDPC](https://github.com/googlesamples/android-testdpc).\n2. Enabling cross profile contact search.\n3. Adding a local work contact within the managed profile.\n4. Searching for that contact within the system Dialer Contacts and SMS/MMS Messaging Apps within the personal profile, checking that this contact is found and it is correctly badged.\n\n\nCTS tests have been added to ensure the underlying cross profile contact search\nAPI has been implemented in\n`com/android/cts/managedprofile/ContactsTest.java`."]]