2

PhoneGap(Cordova 1.6.1)を使用してAndroid用のアプリケーションを開発しています。カメラAPIを呼び出すとアプリケーションがクラッシュし、「showStatusIcononinactiveInputConnection」などのログメッセージが表示されます。次のメソッドを使用してカメラを呼び出しました。

function capturePhoto() {
      // Take picture using device camera and retrieve image as base64-encoded string
      navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
        destinationType: destinationType.DATA_URL });
    }


 function onPhotoDataSuccess(imageData) {        
      var smallImage = document.getElementById('smallImage'); 
      smallImage.style.display = 'block';      
     smallImage.src = "data:image/jpeg;base64," + imageData;    
    }

function onFail(message) {
  alert('Failed because: ' + message);
}
4

2 に答える 2

1

私はそれをこのように使用しました、そしてそれは私のためにうまく働いています。チェックしてください -

document.addEventListener("deviceready",onDeviceReady,false);

function onDeviceReady() {

console.log("CORDOVA IS WORKING:::");
}

        function capturePhoto()
{
navigator.camera.getPicture(onSuccess, onFail, { quality: 50, 
destinationType: Camera.DestinationType.FILE_URI }); 
}

function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI;
}

function onFail(message) {
alert('Failed because: ' + message);
}    
</script>
于 2012-07-26T06:41:42.503 に答える
0

アクティビティクラスのonCreateメソッドで、Javascriptインターフェイスを設定しました。

appView.addJavascriptInterface(this, "GC");

そして、ガベージコレクターをクリーニングする方法を作成しました。

public void cleanGC() {
        System.gc();
    }

.jsファイルで、カメラまたは画像ギャラリーを呼び出す前に、前のメソッドを呼び出します。

GC.cleanGC();
于 2013-09-02T10:22:43.950 に答える