Android Automotive OS 用の駐車時向けアプリを作成するで説明されている要件のほか、このページで説明するブラウザ固有の追加要件がいくつかあります。
ユーザーが機密データへのアクセスをブロックできるようにする
多くの Android デバイスとは異なり、Android Automotive OS の搭載車両は、共有されることの多いデバイスです。ユーザーがパスワードや支払い情報などのセンシティブ データを保護できるように、Android Automotive OS 用に作成されたブラウザは、パスワードや支払い情報を保存できないようにするか、アクセスを許可しないようにする必要があります。ただし、ユーザーがプロファイルのロックを使用してパスワードへのアクセスをブロックできる場合は除きます。認証を行うには、デバイスの認証情報を使用するか、アプリ内に認証システムを構築します。
さらに、センシティブ データを同期する前に、Android Automotive OS 用に構築されたブラウザは、ユーザーに認証を求め、データが車に同期されることを知らせるメッセージを送る必要があります。ユーザーに認証方法を設定していない場合は、 設定するように、次のいずれかの方法を使用して、センシティブ データを同期する際に デバイス認証情報、またはアプリに固有の認証情報を指定します。
認証にデバイス認証情報を使用する
このセクションでは、デバイス認証情報とシステム認証 API を使用して、前述のセンシティブ データの要件を満たす方法について説明します。
デバイス認証情報が設定されているかどうかを確認する
ユーザーがデバイスを PIN、パターン、またはパスワードで保護しているかどうかを調べるには、KeyguardManager::isDeviceSecure
メソッドを使用します。
Kotlin
val keyguardManager = context.getSystemService(KeyguardManager::class.java) val isDeviceSecure = keyguardManager.isDeviceSecure()
Java
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); boolean isDeviceSecure = keyguardManager.isDeviceSecure();
ロック画面の設定を開く
ユーザーがデバイス認証情報を設定する必要がある場合、その負担を軽減するために、Settings.ACTION_SECURITY_SETTINGS
インテントのアクションを使用して、設定アプリ内のセキュリティ画面を開くことができます。
Kotlin
context.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))
Java
context.startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS))
ユーザーに認証を求める
生体認証ダイアログを表示するで説明されているように、ユーザーに認証を求めるには、BiometricPrompt
API を使用します。