Javascript 如何在ibm worklight中打开本机相机
Ibm Worklight具有调用本机应用程序的示例,但该示例是在Worklight本身中创建的,例如:模块_09_1_Android_将本机和网页组合在Android文件夹本身的示例中,它们创建了一个活动“com.AndroidShowNativePage.HelloNative”(包名),该活动正从该javascript调用该活动Javascript 如何在ibm worklight中打开本机相机,javascript,html,cordova,ibm-mobilefirst,Javascript,Html,Cordova,Ibm Mobilefirst,Ibm Worklight具有调用本机应用程序的示例,但该示例是在Worklight本身中创建的,例如:模块_09_1_Android_将本机和网页组合在Android文件夹本身的示例中,它们创建了一个活动“com.AndroidShowNativePage.HelloNative”(包名),该活动正从该javascript调用该活动 但是,我需要从worklight中调用本机摄像头“com.android.camera”,这可能吗?如果是,请分享您的知识。提前谢谢 为什么要编写适用于Andro
但是,我需要从worklight中调用本机摄像头“com.android.camera”,这可能吗?如果是,请分享您的知识。提前谢谢 为什么要编写适用于Android而不适用于iPhone的代码?Worklight使用PhoneGap,因此您可以使用camera.getPicture并将相机拍摄的图像作为base64发送到应用程序
navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );
有关更多信息,请参阅PhoneGap文档()。在应用程序中使用此功能。默认情况下,Cordova插件安装在worklight应用程序中。你只需要调用它的功能
function takePicture() {
navigator.camera.getPicture(
function(data) {
var img = dom.byId('camera_image');
img.style.visibility = "visible";
img.style.display = "block";
//img.src = "data:image/jpeg;base64," + data;
img.src = data;
dom.byId('camera_status').innerHTML = "Success";
},
function(e) {
console.log("Error getting picture: " + e);
dom.byId('camera_status').innerHTML = e;
dom.byId('camera_image').style.display = "none";
},
{ quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceType : navigator.camera.PictureSourceType.CAMERA});
};
destinationType不应为文件URI。此示例必须使用数据URI才能工作。实际上似乎需要是
数据URL
(注意URL
,而不是URI
)