下面的代码取自How get list of web browsers in system,应该返回安装在设备上的所有浏览器。
这不会引起任何错误,但是browsersList大小在任何AVD上都是零,而在真正的智能手机上工作就像预期的那样。
我遗漏了什么?
编辑
测试AVDs
Android 11 - DOESN'T WORK
Android 10 - Works测试实际设备
Android 10 - Works
Android 9 - Works
Android 8 - Works由于我没有安卓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
}发布于 2020-12-29 17:25:23
android 11在包可见性方面有了新的变化。
您可以在文档中找到更多信息:https://developer.android.com/training/basics/intents/package-visibility
https://stackoverflow.com/questions/65493649
复制相似问题