diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index 88beed41e55d91fe423a0c074b0febaf2d62edc5..1ef2f981a8a89df8d3f766537add4c01cffc362f 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -285,6 +285,32 @@ function getDocumentPickerSelectResult(args) { return selectResult; } +function connectServiceExtensionAbility(context) { + let want = { + deviceId: '', + bundleName: 'com.huawei.hmos.filemanager', + abilityName: 'PickerServiceExtAbility' + }; + let options = { + onConnect(elementName) { + console.info('onConnect: ' + elementName.bundleName); + }, + onDisconnect(elementName) { + console.info('onDisconnect: ' + elementName.bundleName); + }, + onFailed(code) { + console.info('onFailed: ' + code); + } + }; + try { + context.connectServiceExtensionAbility(want, options); + } catch (err) { + let code = err.code; + let message = err.message; + console.error('connectServiceExtensionAbility failed, code is ' + code + 'message is ' + message); + } +} + async function documentPickerSelect(...args) { let checkDocumentSelectArgsResult = checkArguments(args); if (checkDocumentSelectArgsResult !== undefined) { @@ -306,6 +332,7 @@ async function documentPickerSelect(...args) { if (documentSelectContext === undefined) { throw getErr(ErrCode.CONTEXT_NO_EXIST); } + connectServiceExtensionAbility(documentSelectContext); documentSelectConfig = parseDocumentPickerSelectOption(args, ACTION.SELECT_ACTION_MODAL); documentSelectResult = await documentSelectContext.requestDialogService(documentSelectConfig); } catch (paramError) { @@ -476,6 +503,7 @@ async function documentPickerSave(...args) { if (documentSaveContext === undefined) { throw getErr(ErrCode.CONTEXT_NO_EXIST); } + connectServiceExtensionAbility(documentSaveContext); documentSaveConfig = parseDocumentPickerSaveOption(args, ACTION.SAVE_ACTION_MODAL); documentSaveResult = await documentSaveContext.requestDialogService(documentSaveConfig); } catch (paramError) {