Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ibm worklight中打开本机相机_Javascript_Html_Cordova_Ibm Mobilefirst - Fatal编程技术网

Javascript 如何在ibm worklight中打开本机相机

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

Ibm Worklight具有调用本机应用程序的示例,但该示例是在Worklight本身中创建的,例如:模块_09_1_Android_将本机和网页组合在Android文件夹本身的示例中,它们创建了一个活动“com.AndroidShowNativePage.HelloNative”(包名),该活动正从该javascript调用该活动


但是,我需要从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