2012-06-08 23 views
6

Simplemente NO funciona.Carga de archivos WebView Android 4.0

que estoy haciendo esto

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

pero openFileChooser nunca es llamado. Alguna idea? openFileChooser está marcado como @hide en el código fuente de Android. Creo que es porque NO deberías usar este método. ¿Hay otra posibilidad de abrir un fileChooser?

+0

Para Android 3.0+ necesita implementar un método diferente: http://stackoverflow.com/questions/5907369/file-upload-in-webview –

Respuesta

12

Los parámetros para openFileChooser se han actualizado algunas veces.

Para Android 3.0 - 4.0, que es

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

de 4.1,

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

y para 2.x

public void openFileChooser(ValueCallback<Uri> uploadMsg) 

Vas a tener que añadir todos ellos para admitir cualquier dispositivo entre Android 2.0 y 4.1.

+1

¿Dónde encontró esto? – MBillau