getPicture via web activities

This commit is contained in:
Piotr Zalewa 2013-09-20 19:59:05 +02:00 committed by Herm Wong
parent 9b0d17ec85
commit 464c37eb50
2 changed files with 34 additions and 2 deletions

View File

@ -32,8 +32,8 @@
<param name="firefoxos-package" value="Camera" />
</feature>
</config-file>
<js-module src="src/firefoxos/CameraProxy.js" name="CameraProxy">
<js-module src="src/firefoxos/camera.js" name="camera-impl">
<runs />
</js-module>
</platform>

32
src/firefoxos/camera.js Normal file
View File

@ -0,0 +1,32 @@
var firefoxos = require('cordova/platform');
function getPicture(cameraSuccess, cameraError, cameraOptions) {
cameraError = cameraError || function(){};
var pick = new MozActivity({
name: "pick",
data: {
type: ["image/png", "image/jpg", "image/jpeg"]
}
});
pick.onerror = cameraError;
pick.onsuccess = function() {
// image is returned as Blob in this.result.blob
// we need to call cameraSuccess with url or base64 encoded image
if (cameraOptions && cameraOptions.destinationType == 0) {
// TODO: base64
return;
}
if (!cameraOptions || !cameraOptions.destinationTyoe || cameraOptions.destinationType > 0) {
// url
return cameraSuccess(window.URL.createObjectURL(this.result.blob));
}
};
}
var Camera = {
takePicture: getPicture,
cleanup: function(){}
};
firefoxos.registerPlugin('Camera', Camera);