我们使用 phonegap 制作了一个 Win8 应用程序。该应用程序还引用了用于执行某些异步任务的 Windows 运行时组件。该应用程序具有相机功能,其中调用相机,拍摄照片,然后在成功回调函数中将照片显示在屏幕上。直接从 Visual Studio Express 运行时,一切正常。当我们创建应用程序包并使用 Metro Sideloader 或 Powershell 部署它时,就会出现问题。永远不会调用相机成功回调函数。调用相机的代码是这样的:
CameraService = function() {
var that = {};
that.invokecamera = function(callback) {
try {
GLOBALS.callback = callback;
if (GLOBALS.Ready) {
navigator.camera.getPicture(that.onSuccess, GLOBALS.ThrowException, {
quality : 50,
saveToPhotoAlbum : true,
destinationType : Camera.DestinationType.FILE_URI
});
}
} catch (err) {
alert(err);
} finally {
}
}
that.onSuccess=function(imageURI) {
GLOBALS.ImagePath = imageURI;
GLOBALS.callback(imageURI);
}
return that;
}