【问题标题】:How to invoke the default file chooser picker in Android?如何在 Android 中调用默认文件选择器选择器?
【发布时间】:2012-06-11 00:04:40
【问题描述】:

如果您从 Android 设备转到 imgur.com,请点击上传图片,然后点击 Touch here to select your images,Android 会提示您 Choose file for upload,但选项很少。这个选择器的好处是,即使没有相机选项(对于旧手机),您也可以从图库应用程序中启动相机,拍照并最终从图库中选择要上传的照片。

这也适用于任何网站上的任何文件<input>

所以我的问题是:如何调用该文件选择器并最终在本机 Java 应用程序中获取所选图像的路径?

如果可能的话,我想过滤它,以便它只提示图像而不是音频文件,我不想安装任何文件管理器,因为它在浏览器中是可行的。很难相信它仅适用于浏览器。

我不想实现自己的文件浏览器或在我的应用程序中列出相机的文件夹。我也刚从 Android 开始,所以一个完整的例子来最终获得文件路径或图像会很棒。

【问题讨论】:

  • 您是要 HTML5 Web 应用(在您不想使用 <input> 的地方),还是要原生 Java 应用?
  • @CommonsWare Native Java 应用程序......在 HTML5 中很明显......只需使用 <input type="file">
  • @CommonsWare 可能标签文件上传具有误导性,但我不知道要添加什么;)根据需要随意编辑..
  • 小心假设在许多(我目前敢说最多)android设备上,您的示例不会导致选择文件的机会而是仅在有机会选择一个应用程序来提供诸如 图像 之类的东西时。只有当用户安装了一个文件管理器应用程序,或者设备非典型地附带了一个,或者你有一些潜在的最近功能的 android 版本时,这才能让你实际选择一个文件

标签: android file-upload filechooser


【解决方案1】:

根据出现的选择器,<input> 似乎正在请求ACTION_GET_CONTENT 活动,MIME 类型为*/*

如果可能,我想过滤它,以便它只提示图像而不是音频文件

使用 image/* 的 MIME 类型。

我也刚开始使用 Android,所以一个完整的例子来最终获得文件路径或图像会很棒。

见:https://stackoverflow.com/a/10274699/115145

【讨论】:

  • @Lipis:顺便说一句,我突然意识到我在这里有一个更完整的ACTION_GET_CONTENT 示例:github.com/commonsguy/cw-omnibus/tree/master/Camera/Content
  • 非常直接......不错的一个......我也可以使用它直接从相机获取图像。
  • 它像手套一样工作..!!在经历了这个答案后,我也设法一路上传:stackoverflow.com/a/3801665/8418
  • 您知道是否可以从该选择器中获取多个文件?您绝对可以从 Gallery 应用程序中选择许多文件.. 但是否可以要求更多文件.. 或者必须以任何一种方式完成.. 选择文件然后在您的应用程序上共享..?
  • @Lipis:“你知道是否可以从该选择器中获取多个文件吗?” ——不,只有一个。 “选择文件,然后在您的应用上共享”——该方向使用ACTION_SEND(一个)或ACTION_SEND_MULTIPLE(多个)。
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 2015-08-18
相关资源
最近更新 更多