2017-01-09 5 views
3

Ich versuche, die Android native Kamera von einer HTML-Seite in einem Android-WebView mit HTML-Input-Typ-Datei-Tag geladen zu öffnen.Öffnen der Kamera von android webView

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

Ich habe keine Ahnung, warum, aber die Kamera nicht öffnen und ich weiß nicht, was zu tun ist.

Ich habe die gleiche Seite auf einem iPhone WebView versucht und es funktioniert.

Was kann ich tun?

+0

korrigieren Sie mich, wenn ich falsch bin, aber Sie versuchen, die Kamera von einer HTML-Seite richtig zu öffnen? – ViVekH

Antwort

2

Wenn ich Ihre Frage richtig verstanden

Sie wollen in der Webseite der Android-Gerät Kamera auf Knopfdruck öffnen (html)?

Auf der Grundlage dieser Annahme Sie benötigen folgende

Verwenden Sie ein JavascriptInterface

public class WebVCamBridgeInterface { 
     /** 
     * Javacript function to start native camera 
     */ 
     @JavascriptInterface 
     public void takePicture() { 
      captureImage(); 
     } 

     /** 
     * Javascript function to start the GalleryActivity for user to choose the image to be uploaded 
     */ 
     @JavascriptInterface 
     public void showPictures() { 
      Intent intent = new Intent(LandingActivity.this, GalleryActivity.class); 
      startActivityForResult(intent, Constants.REQ_GALLERY); 
     } 

    } 

hinzufügen JSinterface zu Ihrem webview

webView.addJavascriptInterface(new WebVCamBridgeInterface(), "AndroidDevice"); 

Habe folgendes JS zu tun in Ihrer HTML/Webseite

<script> 
    function takePicture() { 
    if(typeof AndroidDevice !== "undefined"){ 
     AndroidDevice.takePicture(); 
    } 
    } 

    function showPictures() { 
    if(typeof AndroidDevice !== "undefined"){ 
     AndroidDevice.showPictures(); 
    } 
    } 

    function imageData(data){ 
    document.getElementById('displayImage').setAttribute('src', 'data:image/png;base64,'+data); 
    if(typeof AndroidDevice !== "undefined"){ 
    } 
    } 
</script> 

Ich biete einen Link zu einem Beispielprojekt mit Video einer Demo an. https://drive.google.com/drive/folders/0BwRMp8dK9LMLeEo5cTlXVE9ZUW8?usp=sharing

können Sie diese auch Tutorials verweisen

Prost !.

Verwandte Themen