From f739a0b4e4d3b2d5b49458347bd579e2b49e9414 Mon Sep 17 00:00:00 2001 From: jinyanyan Date: Wed, 2 Jul 2025 17:16:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20=E5=BA=94=E7=94=A8-?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E7=AE=A1=E7=90=86=20=E4=B8=AD=E4=B8=80?= =?UTF-8?q?=E4=BA=9Bapp=E5=90=8D=E7=A7=B0=E6=97=A0=E6=B3=95=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=88=90=E8=8B=B1=E6=96=87=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20Signed-off-by:=20208suo=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/ets/model/appManagementImpl/AppManagementModel.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts b/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts index c78d08b3..76793e38 100644 --- a/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts +++ b/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts @@ -85,11 +85,12 @@ export class AppManagementModel extends BaseModel { let that = this; LogUtil.info('settings AppManagementModel data[index].name :' + data[index].name); try { - let context = GlobalContext.getContext().getObject(GlobalContext.globalKeySettingsAbilityContext) as common.Context; + let abilityContext = GlobalContext.getContext().getObject(GlobalContext.globalKeySettingsAbilityContext) as common.Context; let appInfo = data[index].appInfo; + const context = abilityContext.createModuleContext(appInfo.labelResource.bundleName, appInfo.labelResource.moduleName) LogUtil.info('settings AppManagementModel getResourceManager appInfo.labelId:' + JSON.stringify(appInfo.labelResource)); if (appInfo.labelResource.id > 0) { - await context.resourceManager.getString(appInfo.labelResource) + await context.resourceManager.getStringValue(appInfo.labelResource.id) .then((res) => { label = res; LogUtil.info('settings AppManagementModel getResourceManager getString() res:' + label); @@ -107,7 +108,7 @@ export class AppManagementModel extends BaseModel { LogUtil.info('settings AppManagementModel getResourceManager getString() value:' + label); LogUtil.info('settings AppManagementModel getResourceManager appInfo.iconResource:' + JSON.stringify(appInfo.iconResource)); if (appInfo.iconResource.id > 0) { - await context.resourceManager.getMediaBase64(appInfo.iconResource) + await context.resourceManager.getMediaBase64(appInfo.iconResource.id) .then((res) => { imageValue = res; LogUtil.info('settings AppManagementModel getResourceManager getMediaBase64() res:' + imageValue); -- Gitee From 324c9f59ab437592a7e5b0559f2ccbbd32c79be0 Mon Sep 17 00:00:00 2001 From: jinyanyan Date: Wed, 2 Jul 2025 17:22:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20=E5=BA=94=E7=94=A8-?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E7=AE=A1=E7=90=86=20=E4=B8=AD=E6=9F=90?= =?UTF-8?q?=E4=BA=9Bapp=E5=9B=BE=E6=A0=87=E5=92=8C=E6=A1=8C=E9=9D=A2?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20Signed-off-by:=20208suo=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appManagementImpl/AppManagementModel.ts | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts b/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts index 76793e38..faee9407 100644 --- a/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts +++ b/product/phone/src/main/ets/model/appManagementImpl/AppManagementModel.ts @@ -62,7 +62,9 @@ export class AppManagementModel extends BaseModel { */ setAppManagementListener() { this.mBundleInfoList = []; - bundleManager.getAllBundleInfo(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION) + bundleManager.getAllBundleInfo(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | + bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | + bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_ABILITY) .then((data) => { LogUtil.info('settings AppManagementModel setAppManagementListener getBundleInfos() start '); LogUtil.info('settings AppManagementModel data.length: ' + data.length + ' data: ' + JSON.stringify(data)); @@ -87,6 +89,8 @@ export class AppManagementModel extends BaseModel { try { let abilityContext = GlobalContext.getContext().getObject(GlobalContext.globalKeySettingsAbilityContext) as common.Context; let appInfo = data[index].appInfo; + const firstHapModuleInfo = data[index].hapModulesInfo[0] // 取第一个hap信息 + const firstAbilityInfo = firstHapModuleInfo.abilitiesInfo.length > 0 ? firstHapModuleInfo.abilitiesInfo[0] : {iconId: 0} // 取第一个abilityInfo信息 const context = abilityContext.createModuleContext(appInfo.labelResource.bundleName, appInfo.labelResource.moduleName) LogUtil.info('settings AppManagementModel getResourceManager appInfo.labelId:' + JSON.stringify(appInfo.labelResource)); if (appInfo.labelResource.id > 0) { @@ -107,8 +111,18 @@ export class AppManagementModel extends BaseModel { } LogUtil.info('settings AppManagementModel getResourceManager getString() value:' + label); LogUtil.info('settings AppManagementModel getResourceManager appInfo.iconResource:' + JSON.stringify(appInfo.iconResource)); - if (appInfo.iconResource.id > 0) { - await context.resourceManager.getMediaBase64(appInfo.iconResource.id) + + let iconId = firstAbilityInfo.iconId + if (iconId === 0) { + // 如果ability没有iconId,就用hap的图标 + iconId = firstHapModuleInfo.iconId + } + if (iconId === 0) { + // 如果hap没有iconId,就用app的图标 + iconId = appInfo.iconResource.id + } + if (iconId > 0) { + await context.resourceManager.getMediaBase64(iconId) .then((res) => { imageValue = res; LogUtil.info('settings AppManagementModel getResourceManager getMediaBase64() res:' + imageValue); -- Gitee