2012-06-08 62 views
6

這只是不工作。WebView Android 4.0文件上傳

我這樣做

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永遠不會被調用。 任何想法?在Android源代碼中,openFileChooser被標記爲@hide。 我認爲它是因爲你不應該使用這種方法。是否有另一種可能性來打開文件選擇器?

+0

對於Android 3.0+,你需要實現一個不同的方法:http://stackoverflow.com/questions/5907369/file-upload-in-webview –

回答

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之間的任何設備。

+1

你從哪裏找到這些? – MBillau