OpenHarmony v4.1 Release设置应用随系统自动启动
步骤如下:
- 一、功能概述
- 二、启用系统自启动管理支持
- 三、开发自启动管理应用
- 1. 开发环境准备
- 2. 应用配置
- 四、代码实现
一、功能概述
OpenHarmony 4.1 版本中的 Ability Manager Service (AMS) 提供了应用自启动管理功能,允许系统控制哪些应用可以在系统启动时自动运行。这需要以下两个主要步骤:
启用系统的自启动管理支持
开发一个系统应用来管理自启动配置
二、启用系统自启动管理支持
通过ADB Shell实现
连接设备:
hdc shell
检查当前/vendor分区挂载状态:
mount | grep vendor
典型输出示例:
/dev/block/platform/soc/10100000.himci.eMMC/by-name/vendor /vendor ext4 ro,seclabel,relatime 0 0
重新挂载/vendor为可写模式:
mount -o rw,remount /vendor
如果遇到权限问题,需要先获取root权限:
su
创建配置目录:
mkdir -p /vendor/etc/param
创建并编辑配置文件:
echo "const.product.appboot.setting.enabled = 1" > /vendor/etc/param/appboot.para
验证文件内容:
cat /vendor/etc/param/appboot.para
正确应显示:
const.product.appboot.setting.enabled = 1
恢复/vendor分区为只读模式:
mount -o ro,remount /vendor
重启设备:
reboot
三、开发自启动管理应用
1. 开发环境准备
-
下载并安装 OpenHarmony Full SDK
-
配置开发环境(DevEco Studio)
-
确保有系统应用开发权限
2. 应用配置
a. config.json 配置
- 需要声明系统应用权限:
{
"module": {
"reqPermissions": [
{
"name": "ohos.permission.MANGE_APP_BOOT",
"reason": "用于管理应用自启动",
"usedScene": {
"ability": [
"MainAbility"
],
"when": "always"
}
}
]
}
}
b. 签名配置
使用提供的 profile 模板 UnsgnedReleasedProfileTemplate.json,关键字段说明:
- “apl”: “system_core” - 声明为系统核心应用
- “app-feature”: “hos_system_app” - 系统应用特征
- “allowed-acls” - 包含 ohos.permission.MANAGE_APP_BOOT 权限
四、代码实现
官网参考
权限:ohos.permission.MANAGE_APP_BOOT
import autoStartupManager from '@ohos.app.ability.autoStartupManager';
try {
autoStartupManager.setApplicationAutoStartup({
bundleName: 'com.example.application',
abilityName: 'EntryAbility'
}).then((data: void) => {
this.zq= JSON.stringify(data)
console.info('====> setApplicationAutoStartup data: ' + JSON.stringify(data));
}).catch((err: BusinessError) => {
this.zq= JSON.stringify(err)
console.info('====> setApplicationAutoStartup err: ' + JSON.stringify(err));
});
} catch (err) {
this.zq=JSON.stringify(err)
console.info('====> setApplicationAutoStartup throw err: ' + JSON.stringify(err));
}