我在三星Galaxy S4上测试这个。有拍摄照片' “工作单详细信息”屏幕上的菜单操作我在另一个屏幕上添加了从AttachmentHandler.js调用launchCameraForPhoto函数的相同操作,但是相机无法在此屏幕上启动。调试时,它会在AttachmentHandler.js中抛出TypeError异常。除工作单详细信息外,如何让相机在另一个屏幕上工作?这与上下文有什么关系吗?这是launchCameraForPhoto函数供您参考。 得到错误 this._setRecordOwner(self.ui.getCurrentViewControl()列表[0] .getResource()的getParent());
launchCameraForPhoto: function(eventContext){
if(SystemProperties.getProperty('si.attach.doclink.doctypes.defpath') == null){
throw new PlatformRuntimeException('doctypesDefpathNotDefined');
return;
}
var self = this;
var createDate = eventContext.application.getCurrentDateTime();
//mover para o set owner
if(eventContext.getCurrentRecord()){
this._setRecordOwner(eventContext.getCurrentRecord());
} else {
this._setRecordOwner(self.ui.getCurrentViewControl().lists[0].getResource().getParent());
}
MediaService.capturePictureAsPromise().then(function(result){
if(result.fullPath == null){
//throw new PlatformRuntimeWarning("cameraCancelled");
}else{
result.createDate =createDate;
self._updateAttachmentResourceWithMediaInfo(result);
}
}).otherwise(function(error){
//self.ui.showMessage(error.message);
});
},
答案 0 :(得分:0)
你是对的,这段代码期待一个带有列表小部件的特定视图布局。我想如果你只是确保currentRecord设置正确,它将触发if / else块的顶部。否则,您可以添加另一个if / else条件,并确保根据您在应用程序中的位置检索正确的记录。