Max*_*lov 3 android android-intent
我正在使用隐式意图来打开画廊以选择图像。我通常会执行以下操作:
Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
.takeIf { it.resolveActivity(activity.packageManager) != null }
?.let {
val intent = Intent.createChooser(it, "Choose gallery")
activity.startActivityForResult(intent, rc)
}
Run Code Online (Sandbox Code Playgroud)
但是,如果该意图仅通过我设备上的单个应用程序解决,并且没有其他图库应用程序,只有一个应用程序,则选择器将仅显示无用的单个选择。
我如何确定是否有许多活动可以解决该意图?如何获得实际适合的活动数量?因此,决定是否显示选择器。
我如何确定是否有许多活动可以解决该意图?
呼叫queryIntentActivities()上PackageManager,提供你的Intent。
如何获得实际适合的活动数量?
抱歉,但是在这种情况下我不知道“合适”是什么意思。
因此,决定是否显示选择器
您可以简单地摆脱Intent.createChooser()通话。仅当您希望强迫用户不得不与选择者打交道时,才使用它。如果不选择Intent.createChooser(),则系统将在需要时自行显示选择器。在以下情况下会发生这种情况:
Intent,并且Intent结构选择默认活动顺便说一句,请type = "image/*"从您的代码中删除。ACTION_PICK不使用MIME类型。
| 归档时间: |
|
| 查看次数: |
37 次 |
| 最近记录: |