如何在 IBM Worklight 中打开本机摄像机

How to open native camera in ibm worklight

本文关键字:本机 摄像机 Worklight IBM      更新时间:2023-09-26
IBM Worklight

有调用本机应用程序的示例,但这是在 Worklight 本身中创建的,例如:module_09_1_Android_CombiningNativeAndWebPages此示例中的 android 文件夹本身,他们创建了一个活动"com。AndroidShowNativePage.HelloNative"(包名称)该活动正在从该 JavaScript 调用。

但是,我需要从工作灯中称本机相机为"com.android.camera",这可能吗? 如果是,请分享您的知识。提前感谢!!

在应用程序中使用此函数。默认情况下,科尔多瓦插件安装在工作灯应用程序中。你只需要调用它的功能

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});
};

为什么要编写适用于Android而不是iPhone的代码?Worklight 使用 PhoneGap,因此您可以使用 camera.getPicture 并将相机拍摄的图像作为 base64 获取到您的应用程序。

navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );

有关详细信息,请参阅 PhoneGap 文档 (http://docs.phonegap.com/en/1.0.0/phonegap_camera_camera.md.html)。