queryIntentActivities returns 在 AVD 上为零,而在真实设备上正确的浏览器计数

queryIntentActivities returns zero on AVD while correct browser count on a real device

我有以下代码取自 How get list of web browsers in system 应该 return 设备上安装的所有浏览器。

这不会引发任何错误,但 browsersList 在任何 AVD 上大小为零,而在真正的智能 phone.

上按预期工作

我错过了什么?

编辑

已测试 AVD

Android 11 - DOESN'T WORK

Android 10 - Works

测试的实际设备

Android 10 - Works

Android 9 - Works

Android 8 - Works

因为我没有带有 Android 11 的实际设备,所以不确定 v11 是否是问题所在。不过好像是。

val packageManager: PackageManager = this.getPackageManager()
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse("http://www.aurl.com"))
val browsersList = packageManager.queryIntentActivities(
    browserIntent,
    PackageManager.MATCH_ALL
)
browsersList.forEach {
    val packageName = it.activityInfo.packageName
}

android11 包可见性有新变化。
您可以在文档中找到更多信息: https://developer.android.com/training/basics/intents/package-visibility