WebView Android 4.0 file upload

为君一笑 提交于 2019-12-01 02:46:49

问题


It's just NOT working.

I'm doing this

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);
        }
    });

but openFileChooser is never called. Any ideas? openFileChooser is marked @hide in Android source code. I think its because you should NOT use this method. Is there another possibility to open a fileChooser??


回答1:


Parameters for openFileChooser have been updated some times.

For Android 3.0 - 4.0, it is

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

for 4.1,

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

and for 2.x

public void openFileChooser( ValueCallback<Uri> uploadMsg )

You'll have to add all of them to support any devices between Android 2.0 and 4.1.



来源:https://stackoverflow.com/questions/10953957/webview-android-4-0-file-upload

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!