2012-10-01 72 views
4

我需要能夠在Web視圖中從AndroidAddMember.aspx頁面打開文件上傳菜單。我發現這個修復,但我不認爲即時通訊實施正確。 Fix在網絡視圖中打開文件上傳菜單不起作用

文件上傳按鈕在手機和PC上的瀏覽器中正常工作,但一旦在Web視圖中按鈕不起作用。

我在下面的第一個case語句中嵌入了帶有按鈕的頁面。

任何幫助將是偉大的。謝謝

@Override 
protected void onActivityResult(int requestCode, int resultCode,  
            Intent intent) {  
    if(requestCode==FILECHOOSER_RESULTCODE)  
    {  
    if (null == mUploadMessage) return;  
      Uri result = intent == null || resultCode != RESULT_OK ? null 
        : intent.getData();  
      mUploadMessage.onReceiveValue(result);  
      mUploadMessage = null;  

}  
}  

@Override 
public boolean onOptionsItemSelected(MenuItem item) {  
    // Handle item selection  
    switch (item.getItemId()) {   
    case R.id.register:    

     wv = new WebView(this); 
     wv.setWebViewClient(new WebViewClient()); 
     wv.getSettings().setJavaScriptEnabled(true); 

     wv.loadUrl("http://www.mysite.com/AndroidAddMember.aspx"); 

      wv.setWebViewClient(new WebViewClient());  
      wv.setWebChromeClient(new WebChromeClient()  
      {  
       //The undocumented magic method override  
       //Eclipse will swear at you if you try to put @Override here  

       public void openFileChooser(ValueCallback<Uri> uploadMsg) {  

        mUploadMessage = uploadMsg;  
        Intent i = new Intent(Intent.ACTION_GET_CONTENT);  
        i.addCategory(Intent.CATEGORY_OPENABLE);  
        i.setType("image/*");  
        Myactivity.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);  

       }  
     });  
      setContentView(wv);  


       return true; 
    default:    
     return super.onOptionsItemSelected(item);  
     } 
} 
+0

請給出您的網站的正確的網址,以便我可以檢查代碼 –

+3

我懷疑它可以做到這一點看'基本用法'段落https://developer.android.com/reference/android/webkit/WebView html的 –

回答

3

在現實中,webview不允許以這種方式上傳文件。您必須在應用程序的菜單中創建上傳按鈕。並採取文件輸入,然後通過HTTP上傳到您的網站。

或者更好的,你應該使用phonegap使它成爲可能。在電話差距中,您可以輕鬆使用文件上傳和下載。

http://docs.phonegap.com/en/2.1.0/cordova_file_file.md.html#File

只有這樣,你可以將文件上傳到服務器或沒辦法。 Webview只提供基本功能。

你可能會更好地使用這種方式。

相關問題