Android Q のプライバシーに関する変更点: パーミッションの変更

このドキュメントは、アクセス権限モデルに対するいくつかの変更について説明します。この変更は、ユーザーのプライバシーを強化するために行われます。

以下の変更点は、Android 9(API レベル 28)以前をターゲットにしているアプリを含め、Android Q 上で稼働するすべてのアプリに影響します。

画面コンテンツに対するアクセスの制限

ユーザーの画面コンテンツを保護するため、Android Q は READ_FRAME_BUFFERCAPTURE_VIDEO_OUTPUTCAPTURE_SECURE_VIDEO_OUTPUT のパーミッションの範囲を変更し、デバイスの画面コンテンツを「signature」アクセス専用にすることでサイレント アクセスを防止します。

デバイスの画面コンテンツにアクセスする必要があるアプリは、MediaProjection API を使用する必要があります。この API は、ユーザーに同意を求めるプロンプトを表示します。

旧式アプリに関するユーザー向けアクセス権限チェック

Android 5.1(API レベル 22)以前をターゲットにしているアプリの場合、Android Q 上で初めてそのアプリを実行すると、図 1 に示すように、ユーザーにアクセス権限を求める画面が表示されます。この画面では、以前のインストール時にシステムがアプリに付与していたアクセス権限を取り消すことができます。

ダイアログのスクリーンショット
図 1: 旧式アプリのアクセス権限の確認を可能にするユーザー向けダイアログ

運動認識

Android Q では、ユーザーの歩数を検出したり、歩行中、自転車を運転中、自動車で移動中など、ユーザーの運動を分類したりする必要があるアプリ向けに、新しい ACTIVITY_RECOGNITION ランタイム パーミッションが導入されています。このパーミッションは、デバイスのセンサーデータが [設定] 内でどのように使用されているのかをユーザーに表示するように設計されています。

アプリがデバイス上の他の内蔵センサー(加速度センサーやジャイロスコープなど)のデータに依存している場合は、アプリ内でこの新しいパーミッションを宣言する必要はありません。

Android 9(API レベル 28)以前をターゲットにしているアプリの場合、マニフェスト ファイル内で com.google.android.gms.permission.ACTIVITY_RECOGNITION パーミッションを指定していれば、上記のパーミッションは必要に応じて自動的に付与されます。Android Q をターゲットにするようにアプリをアップデートした場合、プラットフォームはパーミッションを保持しようとしますが、プラットフォームに関する既知の問題により、アップデート時にパーミッションがリセットされます。また、ユーザーはシステム設定で、いつでもこのパーミッションを取り消すことができます。

UI から削除されたパーミッション グループ

Android Q 以降は、UI 内でパーミッションがどのようにグループ化されているのか、アプリがルックアップすることはできません。