Intereting Posts
Скрыть или удалить клавиатуру на экране CardIO Scann (Android) Как я могу сделать ProgressDialog отменой кнопки назад, но не с помощью экрана? Какова цель `конвертирования 'в адаптере ListView? Создание приложения AndroidTV на FireTV Программно добавлять фрагменты в группу просмотра Импорт библиотеки Android AAR – нет определения класса Проблема с загрузкой изображения с Android на Mysql Видеоролик для захвата андроидов OnCreate (), пока активность остановлена ​​(но не уничтожена). Только после установки Как установить ограничение соответствия элементов, возвращаемых DynamoDB с помощью Java? Интеграция Box.COM с Android-приложением OAuthActivity-Nullpointerexception? Виртуальные сообщения Google – GCM – SERVICE_NOT_AVAILABLE Не удается запустить контрольно-измерительные тесты после ввода данных Пакет выбора панели действий в Android для версий до 3.0 Тип android.support.v4.app.Fragment не может быть разрешен. Он косвенно ссылается на требуемые файлы .class, Facebook

Теги приема и захвата файлов не отображаются в веб-просмотре

Я пытаюсь сделать загружаемое изображение только поле ввода, в компактном приложении, выполняющем базовый веб-просмотр с несколькими пользовательскими сценариями.

Через обычный браузер, используя теги, такие как:

<input type="file" accept="image/*;capture=camera" capture="camera"> 

Или <input type="file" accept="image/*" capture="camera"> работает по назначению, переведя пользователя непосредственно в режим захвата камеры.

Но по какой-то причине эта панель ResolverActivity появляется на моем устройстве:

Этот кровавый резольвер. Заставьте его уйти ...

Я действительно хочу, чтобы это исчезло, и прямо возьмите пользователя, чтобы сделать фотографию. Моя система не поддерживает видео (и даже меньше записи голоса).

Я нашел некоторые сообщения об ошибках, которые резонируют с тем, с чем я имею дело, но они также заявляют, что ошибка решена. Увы, когда я запускаю последнюю версию пешеходного перехода, эта ошибка все еще появляется.

Есть ли у кого-нибудь идеи о том, как это разрешить? Может быть, некоторые файлы манифеста, препятствующие записи видеокамеры и аудиозаписи?

Я пробовал с xwalk_core_library_beta: 15.44.384.2 и xwalk_core_library: 14.43.343.23

Если ничего другого, мне придется закодировать процесс загрузки вручную. Не невозможно, но я бы очень хотел этого избежать.

Я новичок (2 дня) в разработке кода для Android, так что несите меня.
Код работает для меня в 4.4.2 с:

<Input type = "file" accept = "image / *" capture = "camera">

Это беспорядочно, но надежда поможет кому-то.

MainActivity.java:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xWalkWebView=(XWalkView)findViewById(R.id.xwalkWebView); xWalkWebView.setUIClient(new UIClient(xWalkWebView)); xWalkWebView.load("http://your.url", null); } private ValueCallback<Uri> mFilePathCallback; private String mCameraPhotoPath; public static final int INPUT_FILE_REQUEST_CODE = 1; class UIClient extends XWalkUIClient { public void openFileChooser(XWalkView view, ValueCallback<Uri> uploadFile, String acceptType, String capture) { if(!(acceptType.toLowerCase().equals("image/*") && capture.equals("true"))){ super.openFileChooser(view, uploadFile, acceptType, capture); return; } if(mFilePathCallback != null) { mFilePathCallback.onReceiveValue(null); } mFilePathCallback = uploadFile; Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File photoFile = null; try { photoFile = createImageFile(); takePictureIntent.putExtra("PhotoPath", mCameraPhotoPath); } catch (IOException ex) { Log.e(TAG, "Unable to create Image File", ex); } // Continue only if the File was successfully created if (photoFile != null) { mCameraPhotoPath = "file:" + photoFile.getAbsolutePath(); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); } else { takePictureIntent = null; } Intent contentSelectionIntent =new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER); chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent); chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser"); startActivityForResult(chooserIntent, INPUT_FILE_REQUEST_CODE); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode != INPUT_FILE_REQUEST_CODE || mFilePathCallback == null) { xWalkWebView.onActivityResult(requestCode, resultCode, data); return; } Uri results = null; // Check that the response is a good one if(resultCode == Activity.RESULT_OK) { if(data == null) { // If there is not data, then we may have taken a photo if(mCameraPhotoPath != null) { results = Uri.parse(mCameraPhotoPath); } } else { String dataString = data.getDataString(); if (dataString != null) { results = Uri.parse(dataString); } } } mFilePathCallback.onReceiveValue(results); mFilePathCallback = null; return; } private File createImageFile() throws IOException { // Create an image file name String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String imageFileName = "JPEG_" + timeStamp + "_"; File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES); File imageFile = File.createTempFile( imageFileName, /* prefix */ ".jpg", /* suffix */ storageDir /* directory */ ); return imageFile; } 

Теперь это исправлено и было развернуто на бета-версию, начиная с: xwalk_core_library_beta:19.49.514.2 (и некоторых более ранних xwalk_core_library_beta:19.49.514.2 ). Вы не должны использовать capture=camera если хотите использовать изображения, хранящиеся на вашем телефоне.