В общем сам решил проблему, ответов никаких так и не дождался. К WebVIew добавил WebChromeClient, переопределил метод onShowFileChooser, который после нажатия кнопки на сайте (в WebView) срабатывает и вызывает камеру. Далее в onActivityResult я получаю фото и отправляю на сервер колбэком.
Вот полезная статья
https://www.codeday.top/2017/06/30/25817.html и часть моего кода
private ValueCallback<Uri[]> uploadMessageAboveL;
private Uri uri;
...
zwv.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onShowFileChooser(WebView view, ValueCallback<Uri[]> filePath, WebChromeClient.FileChooserParams fileChooserParams) {
uploadMessageAboveL = filePath;
uri = generateFileUri();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, FILE_CHOOSER_RESULT_CODE);
return true;
}
});
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
...
Uri[] results = null;
if (resultCode == Activity.RESULT_OK) {
results = new Uri[1];
results[0] = uri;
}
uploadMessageAboveL.onReceiveValue(results);
}
Сервер получает фотографию и далее успешно её обрабатывает.
Возможно, кому-то пригодиться моё решения. Спасибо за внимание :)