Andriod webview实现文件上传

在国外网站上看到的挺不错的 关于WebView的 public class MyWb extends Activity {/** Called when the activity is first created. */WebView web;ProgressBar progressBar;private ValueCallback<Uri> mUploadMessage;private final static int FILECHOOSER_RESULTCODE=1;@Overrideprotected 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;} }@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);web = (WebView) findViewById(R.id.webview01);progressBar = (ProgressBar) findViewById(R.id.progressBar1);web = new WebView(this);web.getSettings().setJavaScriptEnabled(true);web.loadUrl("");web.setWebViewClient(new myWebClient());web.setWebChromeClient(new WebChromeClient(){//The undocumented magic method override//Eclipse will swear at you if you try to put @Override here// For Android 3.0+public void openFileChooser(ValueCallback<Uri> uploadMsg) {mUploadMessage = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType("image/*");MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);}// For Android 3.0+public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {mUploadMessage = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType("*/*");MyWb.this.startActivityForResult(Intent.createChooser(i, "File Browser"),FILECHOOSER_RESULTCODE);}//For Android 4.1public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){mUploadMessage = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType("image/*");MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE );}});setContentView(web);}public class myWebClient extends WebViewClient{@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {// TODO Auto-generated method stubsuper.onPageStarted(view, url, favicon);}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// TODO Auto-generated method stubview.loadUrl(url);return true;}@Overridepublic void onPageFinished(WebView view, String url) {// TODO Auto-generated method stubsuper.onPageFinished(view, url);progressBar.setVisibility(View.GONE);}}//flipscreen not loading again@Overridepublic void onConfigurationChanged(Configuration newConfig){super.onConfigurationChanged(newConfig);}// To handle "Back" key press event for WebView to go back to previous screen./*@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {web.goBack();return true;}return super.onKeyDown(keyCode, event);}*/

,如果有可能,我带你去远行。

Andriod webview实现文件上传

相关文章:

你感兴趣的文章:

标签云: