This page outlines the telephony-related parts of the Android framework that support enterprise use cases. This document is targeted at manufacturers and focuses entirely on framework-related telephony changes. In addition, this page outlines the changes that OEMs need to make to their preloaded apps that handle telephony-related functions.
Android 7.0 introduced several new features to support enterprise telephony use cases, in particular:
- 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.
- Cross profile contact badging - Allows work contacts to be clearly distinguished from personal contacts.
- 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
Android 5.0 supported the following enterprise telephony feature:
- Work contact name lookup for telephone numbers using
ENTERPRISE_CONTENT_FILTER_URI
Examples and source
The Android Open Source Project (AOSP) implementations of Dialer, Contacts, and Messaging apps have integrated the cross profile contact search and badging capability.
Examples:
- Adding badge to work contacts: See
packages/apps/ContactsCommon
f3eb5a207bfe0ff3b4ed2350ae5865ed8bc59798 - Cross profile search: See
packages/apps/ContactsCommon
cd0b29ddbf3648e48f048196c62245d545bc6122
Implementation
Device implementers must implement cross-profile, search, lookup and badging for contacts in their Dialer Contacts and SMS or MMS messaging apps.
Cross-profile contact search
Cross profile contact search should be implemented using the Enterprise Contacts
API (ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI
etc.), which can be found
in the
Work
profile contacts guide on the Android Developers site.
Work profile contact badging
Work profile contact badging can be implemented by checking
ContactsContract.Directory.isEnterpriseDirectoryId()
if available or
isEnterpriseContactId()
. To learn more, see
Work profile contacts.
Managed Profile Aware ConnectionService
Manufacturers should not need to modify the framework code to support this functionality, but should be aware of its impact on the Telecomm service and other telephony features.
Validation
The cross profile contact search and badging feature can be validated by:
- Setting up a managed profile on a test device using TestDPC.
- Enabling cross profile contact search.
- Adding a local work contact within the managed profile.
- 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.
CTS tests have been added to ensure the underlying cross profile contact search
API has been implemented in
com/android/cts/managedprofile/ContactsTest.java
.