如何在 ibm worklight 中打开本机摄像头
Posted
技术标签:
【中文标题】如何在 ibm worklight 中打开本机摄像头【英文标题】:How to open native camera in ibm worklight 【发布时间】:2012-08-10 11:04:24 【问题描述】:Ibm Worklight 有调用本机应用程序的示例,但这是在 Worklight 本身中创建的,例如:module_09_1_android_CombiningNativeAndWebPages 在此示例中的 android 文件夹本身中,他们创建了一个活动“com.AndroidShowNativePage.HelloNative”(包名称),该活动从中调用那个javascript。
但是,我需要从工作灯调用本机相机“com.android.camera”,这可能吗?如果是,请分享您的知识。提前致谢!!
【问题讨论】:
【参考方案1】:在您的应用程序中使用此功能。默认情况下,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 不应为 FILE_URI。此示例必须使用 DATA_URI 才能工作。 其实好像需要DATA_URL
(注意URL
而不是URI
)【参考方案2】:
为什么要编写适用于 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)。
【讨论】:
以上是关于如何在 ibm worklight 中打开本机摄像头的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight 6.1 - 如何打开 https 链接?
IBM Worklight 6.1 - 无法重新生成 iPhone 本机文件夹
使用 IBM Worklight 访问本机相机、照片、日历和语音记录