android使用Webview上传图片

时间:2023-03-09 01:14:02
android使用Webview上传图片

package com.example.webview;

import java.io.File;

import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class MainActivity extends Activity {
    ValueCallback<Uri> callback;
    private WebView wv;

@SuppressLint("SetJavaScriptEnabled")
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wv = (WebView) findViewById(R.id.wv);
        wv.loadUrl("http://101.200.142.201/Login/index?redirect_uri=http%3A%2F%2F101.200.142.201%2F");
        wv.getSettings().setJavaScriptEnabled(true);
        wv.setWebChromeClient(new WebChromeClient() {
            @SuppressWarnings("unused")
            public void openFileChooser(ValueCallback<Uri> uploadMsg,
                    String acceptType, String capture) {

callback = uploadMsg;

Intent picture = new Intent(
                        Intent.ACTION_PICK,
                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(picture, 1);

}
        });
        wv.setWebViewClient(new WebViewClient() {

public boolean shouldOverrideUrlLoading(WebView view, String url) {
                wv.loadUrl(url);
                return true;
            }

});
    }

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        Uri uri = data.getData();
        if (uri != null && callback != null) {

callback.onReceiveValue(uri);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

}