2016-10-12 18 views
0

私はワードプレスのウェブサイトを持っていますが、私はcontactform7 upload-ファイルoption.butのプラグインを使用しました。を選択してください.Webviewのボタンをクリックしてください。webviewでファイル選択オプションを使用してみませんか?

MainActivity.java

import android.graphics.Bitmap; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.webkit.WebChromeClient; 
import android.webkit.ValueCallback; 
import android.content.Intent; 

public class MainActivity extends AppCompatActivity { 
    private WebView myWebView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     myWebView = (WebView)findViewById(R.id.webView); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     myWebView.loadUrl("http://grocerydoorstep.com"); 
     myWebView.setWebViewClient(new CustomWebViewClient()); 
    } 

    public class CustomWebViewClient extends WebViewClient { 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      findViewById(R.id.progressBar1).setVisibility(View.VISIBLE); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      findViewById(R.id.progressBar1).setVisibility(View.GONE); 
     } 

    } 
    public void onBackPressed() { 
     if (myWebView.canGoBack()) { 
      myWebView.goBack(); 
     } else { 
      super.onBackPressed(); 
     } 
    } 
} 
+1

私はこの答えの月が助けと思う: http://stackoverflow.com/questions/5907369/file-upload-in-webview –

答えて

0

これは私がその作品見つけた唯一のソリューションです!

WebView webview; 

private ValueCallback<Uri> mUploadMessage; 
private final static int FILECHOOSER_RESULTCODE = 1; 

@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; 

    } 
} 

//次の部分

class MyWebChromeClient extends 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/*"); 
    Cv5appActivity.this.startActivityForResult(
      Intent.createChooser(i, "Image Browser"), 
      FILECHOOSER_RESULTCODE); 
    } 
} 
関連する問題