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" />
|
<clobbers target="navigator.camera" />
|
||||||
</js-module>
|
</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 -->
|
<!-- android -->
|
||||||
<platform name="android">
|
<platform name="android">
|
||||||
<config-file target="res/xml/config.xml" parent="/*">
|
<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'),
|
var argscheck = require('cordova/argscheck'),
|
||||||
exec = require('cordova/exec'),
|
exec = require('cordova/exec'),
|
||||||
Camera = require('./Camera'),
|
Camera = require('./Camera');
|
||||||
CameraPopoverHandle = require('./CameraPopoverHandle');
|
// XXX: commented out
|
||||||
|
//CameraPopoverHandle = require('./CameraPopoverHandle');
|
||||||
|
|
||||||
var cameraExport = {};
|
var cameraExport = {};
|
||||||
|
|
||||||
@ -63,7 +64,8 @@ cameraExport.getPicture = function(successCallback, errorCallback, options) {
|
|||||||
mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection];
|
mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection];
|
||||||
|
|
||||||
exec(successCallback, errorCallback, "Camera", "takePicture", args);
|
exec(successCallback, errorCallback, "Camera", "takePicture", args);
|
||||||
return new CameraPopoverHandle();
|
// XXX: commented out
|
||||||
|
//return new CameraPopoverHandle();
|
||||||
};
|
};
|
||||||
|
|
||||||
cameraExport.cleanup = function(successCallback, errorCallback) {
|
cameraExport.cleanup = function(successCallback, errorCallback) {
|
||||||
|
Loading…
Reference in New Issue
Block a user