使用createChooser(意图标题)创建的选择器不显示标题

时间:2017-12-31 21:00:01

标签: android

我正在实施文件选择器。 createChooser方法需要CharSequence title,但它实际上并不会在任何结果选择器中显示此标题(在多个API级别上测试)。

private void openFileChooser() {
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Image"), PICK_IMAGE_REQUEST);
}

这个标题应该在哪里显示?

1 个答案:

答案 0 :(得分:4)

Intent.createChooser()是制作ACTION_CHOOSER Intent的便利包装,其中提供的标题是通过EXTRA_TITLE提供的。

  

这个标题应该在哪里显示?

理想情况下,ACTION_CHOOSER实现会将标题显示为其UI的一部分。但是:

  • 不要求ACTION_CHOOSER活动显示标题

  • ACTION_CHOOSER活动的实施因设备制造商和操作系统版本而异

  • 您不会总是得到一个选择器(例如,有0-1个活动与您的Intent匹配)

ACTION_GET_CONTENT的特定情况下,在Android 4.4 +上,这将倾向于直接路由到系统提供的UI以绕过任何选择器。