mirror of
https://github.com/apache/cordova-plugin-camera.git
synced 2025-02-22 04:52:51 +08:00
getPicture via web activities
This commit is contained in:
parent
a6736cda71
commit
e8e420895e
12
plugin.xml
12
plugin.xml
@ -25,6 +25,18 @@
|
||||
<clobbers target="navigator.camera" />
|
||||
</js-module>
|
||||
|
||||
<!-- firefoxos -->
|
||||
<platform name="firefoxos">
|
||||
<config-file target="config.xml" parent="/*">
|
||||
<feature name="Camera">
|
||||
<param name="firefoxos-package" value="Camera" />
|
||||
</feature>
|
||||
</config-file>
|
||||
|
||||
<js-module src="src/firefoxos/camera.js" name="camera-impl">
|
||||
<runs />
|
||||
</js-module>
|
||||
</platform>
|
||||
<!-- android -->
|
||||
<platform name="android">
|
||||
<config-file target="res/xml/config.xml" parent="/*">
|
||||
|
32
src/firefoxos/camera.js
Normal file
32
src/firefoxos/camera.js
Normal 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);
|
||||
|
@ -21,8 +21,9 @@
|
||||
|
||||
var argscheck = require('cordova/argscheck'),
|
||||
exec = require('cordova/exec'),
|
||||
Camera = require('./Camera'),
|
||||
CameraPopoverHandle = require('./CameraPopoverHandle');
|
||||
Camera = require('./Camera');
|
||||
// XXX: commented out
|
||||
//CameraPopoverHandle = require('./CameraPopoverHandle');
|
||||
|
||||
var cameraExport = {};
|
||||
|
||||
@ -63,7 +64,8 @@ cameraExport.getPicture = function(successCallback, errorCallback, options) {
|
||||
mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection];
|
||||
|
||||
exec(successCallback, errorCallback, "Camera", "takePicture", args);
|
||||
return new CameraPopoverHandle();
|
||||
// XXX: commented out
|
||||
//return new CameraPopoverHandle();
|
||||
};
|
||||
|
||||
cameraExport.cleanup = function(successCallback, errorCallback) {
|
||||
|
Loading…
Reference in New Issue
Block a user