diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts index 680e6b0e8cbb23c6cfc007c53441354df182c6db..733623038bf8a796980e66183540f8d217b08a1b 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts @@ -38,7 +38,7 @@ export default class FileExtAbility extends Extension { onCreate(want) { init(); onReceiveEvent(function (data) { - if (data.event == 'usual.event.data.VOLUME_MOUNTED') { + if (data.event == 'usual.event.data.VOLUME_MOUNTED' || data.event == 'usual.event.data.MTPDEV_MOUNTED_SUCCESSED') { if (callbackFun != null) { let uri = path2uri('', data.parameters.path); callbackFun(data.parameters.type, NotifyType.DEVICE_ONLINE, uri); diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Subcriber.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Subcriber.ts index e113b089031d85812f996a685aa0a1a4012614d4..d8e7c5f036f39bd714da75698b917003c7b37950 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Subcriber.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/Subcriber.ts @@ -20,7 +20,11 @@ async function onReceiveEvent(callBack) { "usual.event.data.VOLUME_UNMOUNTED", "usual.event.data.VOLUME_MOUNTED", "usual.event.data.VOLUME_BAD_REMOVAL", - "usual.event.data.VOLUME_EJECT" + "usual.event.data.VOLUME_EJECT", + "usual.event.data.MTPDEV_MOUNTED_SUCCESSED", + "usual.event.data.MTPDEV_MOUNTED_FAILED", + "usual.event.data.MTPDEV_UNMOUNTED_SUCCESSED", + "usual.event.data.MTPDEV_UNMOUNTED_FAILED" ] }; let subscriber = await CommonEvent.createSubscriber(subscribeInfo); diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts index 76e391d0a1b6e60100877396a2be36b9750125a9..d79e33b4277ee705dec827b1458fe1a740c988f2 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/VolumeManager.ts @@ -15,14 +15,19 @@ // @ts-nocheck import volumeManager from '@ohos.volumeManager' import fileExtensionInfo from "@ohos.fileExtensionInfo" +import mtpmanager from "@ohos.mtpManager" +import hilog from '@ohos.hilog' + if (!globalThis.volumeInfoList) { globalThis.volumeInfoList = []; } const FLAG = fileExtensionInfo.FLAG; const DEVICE_TYPE = fileExtensionInfo.DeviceType; +const DOMAIN_CODE = 0x0001; +const TAG = 'js_server'; + function init() { - volumeManager.getAllVolumes().then((volumes) => { - let flags = FLAG.SUPPORTS_WRITE | + let flags = FLAG.SUPPORTS_WRITE | FLAG.SUPPORTS_DELETE | FLAG.SUPPORTS_RENAME | FLAG.SUPPORTS_COPY | @@ -30,6 +35,7 @@ function init() { FLAG.SUPPORTS_REMOVE | FLAG.DIR_SUPPORTS_CREATE | FLAG.DIR_PREFERS_LAST_MODIFIED; + volumeManager.getAllVolumes().then((volumes) => { for (let i = 0; i < volumes.length; i++) { let volume = volumes[i]; let volumeInfo = { @@ -44,6 +50,26 @@ function init() { } globalThis.volumeInfoList.push(volumeInfo); } + }).catch(function(err){ + hilog.error(DOMAIN_CODE, TAG, 'getAllVolumes error ' + err.message); + }); + mtpmanager.getAllMtpDevs().then((mtpList)=>{ + for(let i =0;i