6

它只是不工作。

我正在做这个

webView.setWebChromeClient(new WebChromeClient() {

        public void openFileChooser(ValueCallback<Uri> uploadFile) {
            System.out.println("openFileChooser");
            mUploadMessage = uploadFile;
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.addCategory(Intent.CATEGORY_OPENABLE);
            i.setType("file/*");
            PresentationActivity.this.startActivityForResult(
                    Intent.createChooser(i, "Image Browser"),
                    FILECHOOSER_RESULTCODE);
        }
    });

但 openFileChooser 永远不会被调用。有任何想法吗?openFileChooser 在 Android 源代码中被标记为 @hide。我认为这是因为你不应该使用这种方法。还有另一种打开文件选择器的可能性吗?

4

1 回答 1

12

openFileChooser 的参数已经更新了一些时间。

对于 Android 3.0 - 4.0,它是

public void openFileChooser( ValueCallback<Uri> uploadMsg, String acceptType )

对于 4.1,

public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture)

对于 2.x

public void openFileChooser( ValueCallback<Uri> uploadMsg )

您必须添加所有这些以支持 Android 2.0 和 4.1 之间的任何设备。

于 2012-10-05T12:37:32.173 回答