调用onShowFileChooser()时如何从FileChooserParams中提取值?

时间:2019-05-13 14:18:49

标签: android android-intent input android-webview filechooser

我们有一个混合应用程序,可在Android上运行并使用在MVC中创建的网络应用程序页面。

我们有2个按钮- 1.文档上传-单击此选项后,“文件,图库”选项应该可用(无相机选项) 2.相机上传-单击此按钮应会触发手机中的相机应用。

我在mvc视图上有以下代码:

<input type="file" id="uploadFile" name="files" accept=".pdf,.jpg,.jpeg,.gif,.png" style="display:none;" />
    <input type="file" id="capture" name="LnFImage" accept="image/*" capture="capture" style="display:none;">

在BrowserFragment.java中,我们有2个Intent:

    Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Intent chooseExistingPhotoIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

在调用onShowFileChooser()时,如何知道单击页面上的按钮是 takePhotoIntent 还是 chooseExistingPhotoIntent 来调用?

是否可以从FileChooserParams中提取值以确定哪个按钮正在调用onShowFileChooser()?

1 个答案:

答案 0 :(得分:1)

可以用accept提取FileChooserParams.getAcceptTypes()属性,有关更多详细信息,请参见Android documentation

可以使用name link to documentation提取FileChooserParams.getFilenameHint()属性。

对于capture,请使用FileChooserParams.getMode() as described in the documentation

还有另一个SO question关于此问题和可能有用的实际代码。