tag: Google Play

D.I.C.のQUERY_ALL_PACKAGES利用許可申請の対応メモ

ヤマグロでリリースしているD.I.C.には、端末がインストールしているアプリの一覧を表示し、各アプリのtargetSdkVersionを確認できる機能があります。

この機能を実装するために、アプリでは PackageManager.queryIntentActivities() を使っています。

val packageManager = getApplication<Application>().packageManager

val intent = Intent(Intent.ACTION_MAIN).apply {
    addCategory(Intent.CATEGORY_LAUNCHER)
}

// 該当するActivity(アプリ)の一覧を取得
val activities = packageManager.queryIntentActivities(intent, 0)

このAPIを使うためには、 QUERY_ALL_PACKAGES 権限の利用が必要です。 設定しなかった場合APIがExceptionを吐くことはありませんが、空の情報が返却されます。