【发布时间】:2021-08-03 23:05:02
【问题描述】:
我想找到设备上安装的电子邮件客户端,并在该应用程序上重定向电子邮件 ID 以发送电子邮件。它在 android 10 上运行良好,但在 android 11 中无法运行。我找到了关于 Package visibility filtering on Android 11 的文章。我不明白如何在 android 11 中实现此代码功能
request?.url.toString().startsWith("mailto:") -> {
val intent = Intent(Intent.ACTION_SENDTO)
intent.type = "message/rfc822"
intent.data = Uri.parse(request?.url.toString())
view?.context?.packageManager?.let { packageManager ->
if (packageManager.resolveActivity(intent, 0) != null) {
view.context?.startActivity(intent)
} else {
Log.E("Error to find ", "Email client")
}
}
}
它在 android 10 下启动电子邮件客户端,但在 android 11 中找不到电子邮件客户端。它总是显示查找电子邮件客户端时出错。谁能更详细地解释一下Android 11 上的包可见性过滤是如何工作的,有人可以分享一些代码如何实现这一点。
【问题讨论】:
标签: android kotlin android-intent android-manifest android-11