そこで、PlayBookカメラを呼び出して、ユーザーに写真を撮ってもらうために、次のコードを使用しています。その後、画像はファイルパス文字列として返されます。
captureImage: function() {
App.log("App.captureImage > Invoked");
try {
blackberry.media.camera.takePicture(App.takePictureComplete, App.cameraClosed, App.cameraError);
} catch (err) {
App.log("App.captureImage > Error Occured: " + err);
}
App.log("App.captureImage > Complete");
},
takePictureComplete: function(filePath) {
App.log("App.takePictureComeplete > Image taken and file retrieved: " + filePath);
App.origin.attr('src', filePath);
},
cameraClosed: function() {
App.log("App.cameraClosed > Camera closed.");
},
cameraError: function(err) {
App.log("App.cameraError > ERROR: " + err);
},
これが何が起こったかのログです。どのコールバック関数からも、またはcatchブロックにもロギングがないことに注意してください。
app.js:153 App.captureImage > Invoked
app.js:153 App.captureImage > Complete
index.html:187 TypeError: 'null' is not an object (evaluating 'response.Response')
例外がスローされる行187は、WebKitコードの一部であり、次のものが含まれています。
request.onreadystatechange = function() {
// continue if the process is completed
if (request.readyState == 4 && request.status == 200) {
// retrieve the response
var response = JSON.parse(request.responseText, jsonReviver);
responseCallback(response.Response); //LINE 187
}
};
私はここで何か間違ったことをしていますか、それともこれはAPI自体の問題ですか?私が知る限り、サンプルドキュメントと同じ方法ですべてを実行しました。