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

Flo*_*her 2 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);
}
Run Code Online (Sandbox Code Playgroud)

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

Com*_*are 7

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

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

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

  • ACTION_CHOOSER活动不要求显示标题

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

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

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