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 756e587c2cfbcd0b401a49c4f51f8136dafad683..47af2373b3ee6dc60e5521b539028afc15d4c6fa 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 @@ -32,7 +32,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') { appManager.killProcessesByBundleName(BUNDLE_NAME); } else { delVolumeInfo(data.parameters.id); 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 a2e8acec2c7f994d5fc3b806ba862065901f984d..6a1877f4c90f20d674d51ae6b50abdc105e01c7b 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 63c5bf912c828ccb245e84b466ae52a82840c959..2eec323a9f6f93264cf0ead1f0f54f7e2c1a94b1 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 @@ -14,6 +14,8 @@ */ import volumeManager from '@ohos.volumeManager' import fileExtensionInfo from "@ohos.fileExtensionInfo" +import mtpmanager from "@ohos.mtpManager" + if (!globalThis.volumeInfoList) { globalThis.volumeInfoList = []; } @@ -21,9 +23,9 @@ if (!globalThis.volumeInfoList) { const FLAG = fileExtensionInfo.FLAG; function init() { - volumeManager.getAllVolumes().then((volumes) => { - let flags = FLAG.SUPPORTS_WRITE | FLAG.SUPPORTS_DELETE | FLAG.SUPPORTS_RENAME | FLAG.SUPPORTS_COPY | + let flags = FLAG.SUPPORTS_WRITE | FLAG.SUPPORTS_DELETE | FLAG.SUPPORTS_RENAME | FLAG.SUPPORTS_COPY | FLAG.SUPPORTS_MOVE | 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 = { @@ -39,6 +41,27 @@ function init() { globalThis.volumeInfoList.push(volumeInfo); } }); + + mtpmanager.getAllMtpDevs().then((mtpList)=>{ + for(let i =0;i:"+ mtpList.length); + console.info("[Demo] getMtpDev successfully===>:"+ JSON.stringify(mtpList)); + }).catch(function(err){ + console.info("[Demo] getMtpDev with error===>:"+ err); + }); } function addVolumeInfo(volumeInfo) { diff --git a/services/file_extension_hap/entry/src/main/module.json b/services/file_extension_hap/entry/src/main/module.json index 3908c63b3421cbcc5c56f8a048201758823e3c5b..d2d271a976d94e1434e80cd073f354a9ef6abcdb 100644 --- a/services/file_extension_hap/entry/src/main/module.json +++ b/services/file_extension_hap/entry/src/main/module.json @@ -27,6 +27,9 @@ }, { "name": "ohos.permission.STORAGE_MANAGER" + }, + { + "name": "ohos.permission.FILE_ACCESS_MANAGER" } ] }