2015-01-23 1 views
1

여기와 Google 모두에서 모든 질문을 읽었습니다. Phonegap을 사용하여 사진을 찍고 URI를 저장하려고합니다. doc here의 예제를 사용하려고합니다. 여기 카메라를 열려고하는 스 니펫이 있습니다.Phonegap - 카메라가 전혀 나오지 못합니다.

this.getPicture = function() { 
    navigator.camera.getPicture(self.onBackSuccess, self.onFail, { 
     quality: 20, 
     destinationType: Camera.DestinationType.FILE_URI 
    }); 
}; 

은 이미 확인했습니다 무엇/

  • 폰갭/코르도바 자체가 설치되어 제대로 작동을 확인했습니다. 문제없이 내 앱을 만들 수 있습니다.
  • navigator.camera이 명확하게 정의됩니다. 내가 코드를 따라갈 수 있고 "getPicture"함수가 호출되고 있지만 카메라, 장치, ADB 에뮬레이터 또는 Ripple 브라우저 에뮬레이터에서 끌어 올리지 않습니다.
  • 내 성공도 오류 콜백도 호출되지 않습니다. 그러나 getPicture 함수에서 해당 변수를 보면 해당 함수가 해당 변수에 저장되어 있음을 알 수 있습니다.
  • Phonegap 카메라 플러그인을 설치했습니다. phonegap local plugin list을 실행하면 결과 중 하나가 org.apache.cordova.camera 0.3.4 "Camera"
  • 입니다. 내 config.xml 파일에 <feature name="http://api.phonegap.com/1.0/camera"/><gap:plugin name="org.apache.cordova.camera" /> 줄이 모두 포함되어 있습니다. 해당 플러그인이 이미 설치되어 있기 때문에 관련성이 있는지는 확실하지 않습니다.
  • 내 AndroidManifest.xml 파일에는 <uses-permission android:name="android.permission.CAMERA" />, <uses-feature android:name="android.hardware.camera" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 행이 있습니다.

나는이 함수를 호출 버튼을 클릭, 그것은 밖으로 출력이 :

camera.getPicture 기능에 의해 사용되는 생성됩니다 cameraOptions /의 배열 인
[20,1,1,-1,-1,0,0,false,false,false,null,0] 

.

내가 찾을 수 있었던 모든 것은 사실 navigator.camera.getPicture(success, failure, options);이 카메라를 열 것이라는 사실을 당연한 것으로 여긴다. 그래서 나의 특별한 문제를 해결하는데 많은 정보가없는 것 같다. 여기에있는 모든 포인터는 많은 도움이 될 것입니다.

편집 : 내가이 관련이있을 수 있습니다처럼 보이는 콘솔에서 오류를보고하고있다 :

Could not find cordova.js script tag. Plugin loading may fail. 

편집 : 내 마지막 편집 관련되어 있다고 생각하지 않습니다. 그것은 플러그인 파일 자체의 로딩과 관련이 있으며, 앱을로드 할 때 plugins 폴더에서 Camera.js 파일을 볼 수 있습니다. cameraExport.getPhoto 함수에 중단 점을 넣을 수 있으며 거기에 들어갑니다. 그런 다음 앞서 언급 한 배열을 인쇄하고 그 밖의 작업은 수행하지 않고

exec(successCallback, errorCallback, "Camera", "takePicture", args); 

을 호출합니다.

답변

0

코드를 모두 보지 않고도 this.self.을 사용하면 문제가 발생한다고 생각됩니다. 다음과 같이 해보십시오.

function getPicture() { 
    navigator.camera.getPicture(onBackSuccess, onFail, { 
     quality: 20, 
     destinationType: Camera.DestinationType.FILE_URI 
    }); 
}; 

function onBackSuccess() { 
    //some code 
} 

function onFail() { 
    //some code 
} 
+0

콜백을해도 카메라가 계속 호출되지만 실패 할까? 또한 콜백을 인라인으로 정의 해 보았습니다. – user3537769

관련 문제