From 63a5af0cc533f96f1c816d6e7e09b87e8411cdca Mon Sep 17 00:00:00 2001 From: zhangxingxia Date: Fri, 8 Jul 2022 16:59:05 +0800 Subject: [PATCH 1/2] add getMtp code Signed-off-by: zhangxingxia --- .../FileExtensionAbility.ts | 2 +- .../ets/FileExtensionAbility/Subcriber.ts | 6 ++++- .../ets/FileExtensionAbility/VolumeManager.ts | 27 +++++++++++++++++-- 3 files changed, 31 insertions(+), 4 deletions(-) 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 756e587c..47af2373 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 a2e8acec..6a1877f4 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 63c5bf91..b2b5a216 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) { -- Gitee From db7c7c91ca5cabdf6bacb12a4a7efa223989faa2 Mon Sep 17 00:00:00 2001 From: zhangxingxia Date: Tue, 19 Jul 2022 15:50:03 +0800 Subject: [PATCH 2/2] test Signed-off-by: zhangxingxia --- .../entry/src/main/ets/FileExtensionAbility/VolumeManager.ts | 2 +- services/file_extension_hap/entry/src/main/module.json | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 b2b5a216..2eec323a 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 @@ -49,7 +49,7 @@ function init() { 'volumeId':volume.id, 'fsUuid':'', 'path':volume.path, - 'uri':path2uri(volume.id, volume.path), + 'uri':path2uri('', volume.path), 'displayName': volume.id, 'deviceId': '', 'flags': flags, diff --git a/services/file_extension_hap/entry/src/main/module.json b/services/file_extension_hap/entry/src/main/module.json index 3908c63b..d2d271a9 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" } ] } -- Gitee