2017-01-09 5 views
3

HTML 입력 형식의 파일 태그를 사용하여 안드로이드 webView 에로드 된 HTML 페이지에서 안드로이드 네이티브 카메라를 열려고합니다.안드로이드 webView에서 카메라 열기

왜 카메라가 열리지 않고 무엇을해야할지 모르겠다.

아이폰 webView에서 같은 페이지를 시도했지만 정상적으로 작동합니다.

어떻게해야합니까?

+0

잘못된 것이지만 html 페이지에서 카메라를 열려고하면 올바르게 표시됩니까? – ViVekH

답변

2

내가 귀하의 질문에 제대로

당신은 웹 페이지 (HTML)에서 버튼의 클릭에 안드로이드 장치의 카메라를 열려면을 이해한다면? 다음과 같은

사용에게 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); 
     } 

    } 

당신의 웹보기에 JSinterface를 추가

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

은 다음과 JS 되세요 귀하의 html/웹 페이지에

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

데모 비디오와 함께 샘플 프로젝트에 대한 링크를 제공합니다. https://drive.google.com/drive/folders/0BwRMp8dK9LMLeEo5cTlXVE9ZUW8?usp=sharing

이러한 튜토리얼

참조 할 수 있습니다

건배!.