当前位置: 首页> 科技> 数码 > 荆州网站seo_外贸网站首页_个人网页制作成品_html家乡网站设计

荆州网站seo_外贸网站首页_个人网页制作成品_html家乡网站设计

时间:2025/9/5 15:58:50来源:https://blog.csdn.net/supernova_TOP/article/details/143184281 浏览次数:0次
荆州网站seo_外贸网站首页_个人网页制作成品_html家乡网站设计

一、开发环境

系统版本:OpenHarmony 4.0.10.13
设备平台:rk3588
SDK版本:fullSDK 4.0.10.13

二、背景

使用自研应用作为默认Launcher,或者说使特定应用默认开机自启作为Home应用。

三、分析过程

通过分析原生Launcher启动流程可知:
AMS启动根据应用优先级启动应用,通常是OOBE或Launcher
foundation/ability/ability_runtime/services/abilitymgr/src/ability_manager_service.cpp

void AbilityManagerService::StartUserApps(int32_t userId, bool isBoot)
{
HILOG_INFO("StartUserApps, userId:%{public}d, currentUserId:%{public}d", userId, GetUserId());
if (currentMissionListManager_ && currentMissionListManager_->IsStarted()) {
HILOG_INFO("missionListManager ResumeManager");
currentMissionListManager_->ResumeManager();
}
//启动优先级最高的应用
StartHighestPriorityAbility(userId, isBoot);
}...void AbilityManagerService::StartHighestPriorityAbility(int32_t userId, bool isBoot)
{.../* Query the highest priority ability or extension ability, and start it. usually, it is OOBE or launcher */Want want;want.AddEntity(HIGHEST_PRIORITY_ABILITY_ENTITY);AppExecFwk::AbilityInfo abilityInfo;AppExecFwk::ExtensionAbilityInfo extensionAbilityInfo;int attemptNums = 0;//ImplicitQueryInfoByPriority查询应用ability和extensionAbility配置中的优先级while (!IN_PROCESS_CALL(bms->ImplicitQueryInfoByPriority(want,AppExecFwk::AbilityInfoFlag::GET_ABILITY_INFO_DEFAULT, userId,abilityInfo, extensionAbilityInfo))) {HILOG_INFO("Waiting query highest priority ability info completed.");++attemptNums;if (!isBoot && attemptNums > SWITCH_ACCOUNT_TRY) {HILOG_ERROR("Query highest priority ability failed.");return;}AbilityRequest abilityRequest;ComponentRequest componentRequest = initComponentRequest();if (!IsComponentInterceptionStart(want, componentRequest, abilityRequest)) {return;}usleep(REPOLL_TIME_MICRO_SECONDS);}...//启动查询到的最高优先级应用/* note: OOBE APP need disable itself, otherwise, it will be started when restart system everytime */(void)StartAbility(abilityWant, userId, DEFAULT_INVAL_VALUE);
}

至此我们了解到应用优先级取决于应用ability和extensionAbility 优先级配置
查看官方资料
module.json5配置文件
priority
查看launcher module.json5配置文件

"extensionAbilities": [{"priority": 2,  //优先级设定为2"skills": [  //接受home Want的特征标签{"entities": ["entity.system.home","flag.home.intent.from.system"],"actions": ["action.system.home","com.ohos.action.main","action.form.publish"]}],"exported": false,  //本组件不可被其他应用调研"name": "com.ohos.launcher.MainAbility
关键字:荆州网站seo_外贸网站首页_个人网页制作成品_html家乡网站设计

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: