La cámara no se abre en WebView

Hola tengo que trabajar en WebView con Camera . Estoy implementado algún código HTML que carga de archivos de los Assets en WebView y mi archivo HTML contiene un Button para cargar la imagen en el servidor. Las imágenes se seleccionan de la Galería y toman fotos de la cámara. Pero cuando intento con la cámara no está abriendo. No sé por qué? También, agregué permiso requerido de la cámara en mi manifest.xml .

Por favor, un punto de mí donde me voy mal?

Manifest.xml

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.maptest" android:versionCode="1" android:versionName="1.0" > <permission android:name="com.example.maptest.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.maptest.permission.MAPS_RECEIVE" /> <!-- Copied from Google Maps Library/AndroidManifest.xml. --> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- My Location --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <!-- External storage for caching. --> <!-- Maps API needs OpenGL ES 2.0. --> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <application android:debuggable="true" android:icon="@drawable/sms_lg" android:label="SMS Reader" > <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="mapkey" /> <activity android:name=".WebView2" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="BasicMapActivity2" > </activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> </application> </manifest> 

Tengo tu problema creo que necesitas añadir <uses-feature> para cámara como:

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

Es becoz que solicita el permission concede su acceso de la aplicación al hardware y software apropiados, mientras que declarar las features usadas por su uso asegura la compatibilidad apropiada del dispositivo.

Pruebe esto y déme comentarios sobre esto. Para obtener más información, visite http://developer.android.com/guide/topics/manifest/uses-feature-element.html

También podría ayudar:

 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) { Ld("onPermissionRequest"); request.grant(request.getResources()); } }); 

Comenzando con Android 5.0, introdujeron la clase PermissionRequest , que permite a tu aplicación conceder el permiso de WebView para acceder a recursos protegidos como la cámara y el micrófono, a través de APIs web como getUserMedia () . Su aplicación debe tener los permisos adecuados de Android para estos recursos con el fin de conceder los permisos a la WebView.

  • Deshabilitar el almacenamiento en caché, las cookies y todo lo demás en un WebView
  • Apertura de WebView en segundo plano
  • ¿Cómo puede un WebView heredar colores del tema actual de Android?
  • Desactivación nativa de WebView: libwebviewchromium.so "Operación no permitida" - ILL_ILLOPC
  • Android: cómo agregar un teclado virtual personalizado cuando se selecciona el campo de formulario en WebView
  • Llame a la función Java desde JavaScript a través de Android WebView
  • Vista web de Android: ¿resaltar una palabra específica en una página usando javascript?
  • Permitir todos los vínculos 'market: //' desde una vista web para abrir Google Play Store
  • ¿Es posible precargar datos en WebViews en los hijos de un RecyclerView?
  • OnRecivedError no muestra la página de error personalizada
  • Hacer que la vista web de una tableta simule un pequeño dispositivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.