未调用Android WebView openFileChooser

未调用Android WebView openFileChooser,android,webview,android-webview,webchromeclient,Android,Webview,Android Webview,Webchromeclient,我无法使openFileChooser()正常工作。我不在Android KitKat上(因为我们知道这个方法在4.4上不再有效)。我尝试了一个不同的解决方案,但也不起作用 以下是html: <a class="myClass" href="./gallery_files/gallery.html" title="" onclick="document.getElementById('upload_').click(); return false;"> <form c

我无法使
openFileChooser()
正常工作。我不在Android KitKat上(因为我们知道这个方法在4.4上不再有效)。我尝试了一个不同的解决方案,但也不起作用

以下是html:

 <a class="myClass" href="./gallery_files/gallery.html" title="" onclick="document.getElementById('upload_').click(); return false;">




<form class="avatar" action="myUrlIsHere" method="post" enctype="multipart/form-data">
    <input id="upload_" class="invisible upload" type="file" name="Avatar">
</form> 

您知道问题出在哪里吗?

似乎在Kitkat 4.4中没有调用openFileChooser。它一直被称为android 4.3。
虽然它在4.4.3上再次起作用。

找到了一个对我有效的解决方案。它在
produard android.txt
中又添加了一条规则:

-keepclassmembers class * extends android.webkit.WebChromeClient {
     public void openFileChooser(...);
}

但是有一些解决办法。在运行4.4的HTC One上,我可以在它的默认浏览器上上传Gmail附件。
@Override 
    protected void onActivityResult(int requestCode, int resultCode,
            Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);

        if (requestCode == WebViewChromeClient.FILECHOOSER_RESULTCODE) {
            Log.d("MainActivity", "onActivityResult");

            if (null == uploadMsg) {
                Log.d("FileChooser Result", "58");
                return;
            }

            Log.d("MainActivity", "onActivityResult");
            Uri result = null;

            try {
                if (resultCode != RESULT_OK) {
                    result = null;
                } else {
                    result = intent == null ? mCapturedImageURI : intent
                            .getData();
                }
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "activity :" + e,
                        Toast.LENGTH_LONG).show();
            }

            uploadMsg.onReceiveValue(result);
            setmUploadMessage(null);
        }
        Log.d("MainActivity", "onActivityResult");
    }
-keepclassmembers class * extends android.webkit.WebChromeClient {
     public void openFileChooser(...);
}