[Android]Android 11以降 でのパッケージへのアクセス制限の対策

 

Android11以降では、PackageManagerを使ったインストール済みアプリの取得方法が変わっています。Android Developerのサイトでは以下のように記載されています。

Android 11 では、アプリがデバイス上にユーザーがインストールした別のアプリに対してクエリまたは操作を行う方法が変更されています。アプリで <queries> 要素を使用することで、アクセス可能な他のパッケージ セットを定義できます。この要素により、アプリに表示する他のパッケージをシステムに指示することで、最小権限の原則を実践していくことができます。また、Google Play などのアプリストアが、アプリがユーザーに提供するプライバシーやセキュリティを評価することもできます。
Android 11 以降をターゲットとするアプリの場合、アプリのマニフェスト ファイルに <queries> 要素が必要になることがあります。<queries> 要素内では、パッケージ名、インテント シグネチャ、またはプロバイダ オーソリティによってパッケージを指定できます。

 ランチャーから起動可能なアプリの指定は、以下のようにします。

<queries>
    <intent>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent>
</queries>

0 件のコメント :

コメントを投稿