このガイドでは、Device Policy Controller(DPC)アプリに実装できるデバイス管理機能について説明します。Android のエンタープライズ機能用のサンプルコードのソースとして、Test DPC アプリを使用することもできます。
DPC アプリは、個人のデバイスではプロファイル所有者モードで、完全管理対象デバイスではデバイス所有者モードで実行できます。次の表は、DPC がプロファイル所有者モードまたはデバイス所有者モードで実行されている場合に利用できる機能を示しています。
機能 | プロファイル所有者 | デバイス所有者 |
カスタムのロック画面メッセージを作成する | ✓ | |
データ ローミングを無効にする | ✓ | |
設定がブロックされている場合に、カスタマイズしたメッセージを表示する | ✓ | ✓ |
壁紙をロックダウンする | ✓ | ✓ |
お客様のユーザー アイコンのロックダウン | ✓ | ✓ |
デバイスの健全性とステータスをリモートでモニタリングする | ✓ | ✓ |
Android デバイスをリモートで再起動する | ✓ |
カスタムのロック画面メッセージを作成する
デバイス所有者モードで実行される DPC は、setDeviceOwnerLockScreenInfo
メソッドを使用してユーザーのデバイスにカスタムのロック画面メッセージを作成できます。このメッセージは、ロックされているときにデバイスの画面に表示されます。デバイスの紛失や盗難に備える際に役立ちます。一般的なメッセージは「このスマートフォンは <会社名> のものです。見つかった場合は <電話番号> に電話してください」というものです。
データ ローミングを無効にする
データ ローミングにより、携帯通信会社の請求額に多額の請求が発生することがあります。このようなコストを合理化するために、デバイス オーナー モードで実行されている DPC は、DISALLOW_DATA
ROAMING
制限を設定してデータ ローミングを無効にできます。DPC によってユーザー制限が設定されると、ユーザーはデバイスの [設定] からデータ ローミングを変更することはできません。
設定がブロックされている場合に、カスタマイズしたメッセージをユーザーに表示する
ユーザーが IT 部門によってブロックされている設定や機能をクリックすると、その機能にアクセスできない理由がサポート メッセージで簡潔に表示されます。
これらのメッセージは、「Action not allowed(アクションが許可されない)」よりもわかりやすい場合があります。デバイス所有者モードまたはプロファイル所有者モードで実行されている DPC は、DevicePolicyManager の setShortSupportMessage()
メソッドと setLongSupportMessage()
メソッドを使用してこれらのメッセージをカスタマイズできます。
サポート メッセージを作成する
設定が制限されている理由を説明するには、短いメッセージまたは長いメッセージを使用します。
短いメッセージを作成するには、
setShortSupportMessage()
メソッドを使用します。- 短いメッセージは 200 文字以内に制限されています。
- 一般的なメッセージは、「この設定は管理者によって無効にされています。 サポートについては、<yourITdepartment@example.com> にお問い合わせください。」
長いメッセージを作成するには、
setLongSupportMessage()
メソッドを使用します。ユーザーは、デバイスの [設定] > [セキュリティ] > [デバイス管理] でこのメッセージを確認し、特定の管理者を選択できます。
これらのメッセージのいずれかを翻訳する必要がある場合、DeviceAdminReceiver
は ACTION_LOCALE_CHANGED
ブロードキャストをリッスンし、それに応じてこの文字列の新しいバージョンを設定する必要があります。
壁紙をロックする
Android デバイスを共有デバイスとして使用している学校や企業などの組織は、ユーザーがデバイスのホーム画面の壁紙を変更できないようにすることが可能です。
壁紙をロックするには、デバイス所有者またはプロファイル所有者モードで実行されている DPC で DISALLOW_SET_WALLPAPER
を true
に設定します。この設定のデフォルトは false
です。
お客様のユーザーのロックダウン アイコン
デバイス所有者またはプロファイル所有者モードのいずれかで実行されている DPC は、ユーザーを追加して、各ユーザーのアイコンを指定できます。このユーザー アイコンはデバイス上のみに表示され、他の Google サービス(Gmail のメッセージや Google+ プロフィールなど)に表示されるプロフィール アイコンとは別のものです。
DPC では、DISALLOW_SET_USER_ICON
を true
に設定して、ユーザーによるアイコンの変更を制限できます。この設定のデフォルトは false
です。
デバイスの正常性とステータスをリモートでモニタリングする
デバイス所有者またはプロファイル所有者モードで実行されている DPC は、デジタル サイネージ ディスプレイや Android デバイスで起動されたキオスクなど、離れた場所で実行されている放置されたデバイスをモニタリングできます。そのために、DPC は HardwarePropertiesManager
インターフェースを使用して、GPU の温度や CPU 使用率などのデバイスの健全性に関する情報を取得します。過熱などが原因で自動的にオフになるデバイスの問題の診断に役立ちます。
デバイスの Hardware Property Manager サービスにアクセスするには、Context.getSystemService()
と文字列 Context.HARDWARE_PROPERTIES_SERVICE
を使用します。
Android デバイスをリモートで再起動する
DPC は、デバイス所有者モードで実行されている場合にのみ、Android デバイスをリモートで再起動できます。エンクロージャー内の公共の場やデジタル サイネージ ディスプレイとして導入したデバイスが原因で、電源ボタンが操作できない場合があります。デバイスを再起動する必要がある場合は、DPC が DevicePolicyManager.reboot()
メソッドを使用して再起動できます。
通話中の場合、デバイスは再起動しません。再起動するには、デバイスがアイドル状態である必要があります。これは、管理者が再起動リクエストでユーザーの通話を中断しないようにするためです。デバイスがアクティブな場合は、CALL_STATE_IDLE
まで IllegalStateException
をスローします。