Saltar al contenido

La cámara no se abre en WebView

Solución:

Si desea utilizar la cámara en su sitio web con (html5):

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

En primer lugar, agregue esta línea en su manifiesto:

<uses-permission android:name="android.permission.CAMERA" />

Entonces necesitas configurar tu vista web en Android de esta manera:

  • habilitar Javascript
  • habilitar el almacenamiento DOM
  • PermissionRequest (esta clase define una solicitud de permiso y se usa cuando el contenido web solicita acceso a recursos protegidos)

    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setDomStorageEnabled(true);
    webview.getSettings().setPluginState(WebSettings.PluginState.ON);
    
    webview.setWebChromeClient(new WebChromeClient(){
            // Need to accept permissions to use the camera
            @Override
            public void onPermissionRequest(final PermissionRequest request) {
                L.d("onPermissionRequest");
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                     request.grant(request.getResources());
                }
            }
        });
    

Tengo tu problema, creo que necesitas agregar <uses-feature> para cámara como:

<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />

Es porque solicita el permission otorga a su aplicación acceso al hardware y software apropiados, mientras declara el features utilizado por su aplicación garantiza la compatibilidad adecuada del dispositivo.

Prueba esto y dame tu opinión sobre esto. Para obtener más información, visite http://developer.android.com/guide/topics/manifest/uses-feature-element.html

Hice lo que sugirió @manuel, pero aún así, no pude hacer que funcionara al buscar en el registro que encontré que también teníamos que agregar

webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *