From 2c28e9d8028dfca00706f36e810c44830ca39c2c Mon Sep 17 00:00:00 2001 From: libuyan Date: Thu, 16 May 2024 16:53:39 +0800 Subject: [PATCH] connectServiceExtensionAbility before open document picker. Signed-off-by: libuyan --- interfaces/kits/picker/picker.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index d5b451d5..dd37629b 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -268,6 +268,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) { @@ -289,6 +315,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) { @@ -400,6 +427,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) { -- Gitee