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);