我有一个打开意图的扩展函数用于我的活动:
fun Activity.openIntent(action: String?, type: String?, uri: Uri?) {
Intent()
.apply {
action?.let { this.action = it }
uri?.let { this.data = it }
type?.let { this.type = it }
}
.also { intent ->
packageManager?.let {
if (intent.resolveActivity(it) != null)
startActivity(intent)
else
showToast(R.string.application_not_found)
}
}
}
我的targetSdkVersion
是30。在intent.resolveActivity(it)
中,它给我一个警告:
当调用此方法时,请考虑在您的清单中添加查询声明。
那么我该怎么做才能解决这个警告?
none
不是一个有效的MIME类型,因此该元素毫无用处。尝试移除它。 - CommonsWareresolveActivity()
。它恰好在特定的上下文中提到了它(在URL上启动Web浏览器),该上下文还有其他解决方案(FLAG_ACTIVITY_REQUIRE_NON_BROWSER
)。 - CommonsWarenull
。我认为这篇文章只是提供了一种替代方法,而没有指出 resolveActivity 不起作用。 - abhiarora