エンタープライズ通話機能の実装

このページでは、企業でのユースケースをサポートする Android フレームワークの通話機能の関連部分について概説します。このドキュメントはメーカーを対象としており、全体を通して、フレームワークに関連する通話機能の変更点を中心に説明しています。さらに、このページでは、通話関連の機能を扱うプリインストール アプリに対して OEM が行う必要がある変更について概説します。

Android 7.0 では、特に以下のようなエンタープライズ通話のユースケースをサポートする新機能がいくつか追加されました。

  • クロス プロファイル連絡先検索 - 管理対象プロファイルの連絡先プロバイダが提供する連絡先を個人用プロファイルのアプリで検索できるようになります。連絡先プロバイダには、任意のデータストアを利用でき、たとえば、ローカルからデバイスやエンタープライズ ディレクトリ内などで、連絡先を提供できます。
  • クロス プロファイル連絡先バッジ - 仕事用の連絡先と個人用の連絡先を明確に区別できるようになります。
  • 接続サービスを管理対象プロファイル対応にする - 管理対象プロファイル内でアプリが通話機能を提供できるようになります(仕事用電話や仕事用 ConnectionService など)。

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

この機能をサポートするために、メーカーがフレームワーク コードを変更する必要はありませんが、通信サービスやその他の通話機能への影響を考慮する必要があります。

検証

クロス プロファイルの連絡先検索とバッジ機能は、次の方法で検証できます。

  1. TestDPC を使用して、テストデバイスで管理対象プロファイルを設定します。
  2. クロス プロファイルの連絡先検索を有効にします。
  3. 管理対象プロファイル内でローカルの仕事用連絡先を追加します。
  4. 個人用プロファイルでシステムの通話連絡先アプリと SMS / MMS メッセージング アプリを開き、追加した連絡先があることと、正しくバッジが表示されることを確認します。

CTS テストが追加され、com/android/cts/managedprofile/ContactsTest.java に基盤となるクロス プロファイル連絡先検索の API が実装されているかどうかを確認できるようになりました。