webview input file
public class MainActivity extends AppCompatActivity { private WebView webView; public ValueCallback<Uri[]> uploadMessage; public static final int REQUEST_SELECTED_FILE = 100; @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); if (requestCode == REQUEST_SELECTED_FILE) { if (uploadMessage == null) return; uploadMessage.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, intent)); uploadMessage = null; } } @Override protected void onCreate(Bundle savedInstanceState) { webView.setWebChromeClient(new WebChromeClient(){ public boolean onShowFileChooser(WebView view, ValueCallback<Uri[]> filePathCallback,WebChromeClient.FileChooserParams fileChooserParams){ if(uploadMessage != null){ uploadMessage.onReceiveValue(null); } uploadMessage = filePathCallback; Intent intent; intent = fileChooserParams.createIntent(); try{ startActivityForResult(intent,REQUEST_SELECTED_FILE); } catch (ActivityNotFoundException e){ uploadMessage = null; return false; } return true; } }); } }
https://xn--90acbu5aj5f.xn--p1ai/?p=5129