これを Samsung Galaxy S4 でテストしています。作業指示書の詳細画面で利用できる「写真を撮る」メニュー アクションがあります。別の画面で AttachmentHandler.js から launchCameraForPhoto 関数を呼び出す同じアクションを追加しましたが、この画面ではカメラが起動しません。デバッグ時に AttachmentHandler.js で TypeError 例外をスローします。作業指示書の詳細以外の画面でカメラを動作させるにはどうすればよいですか? 文脈と何か関係がありますか?参考までに launchCameraForPhoto 関数を次に示します。this._setRecordOwner(self.ui.getCurrentViewControl().lists[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);
});
},