missionManager
missionManager模块提供系统任务管理能力,包括对系统任务执行锁定、解锁、清理、切换到前台等操作。
说明:
本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import missionManager from '@ohos.application.missionManager'
权限列表
ohos.permission.MANAGE_MISSIONS
开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
missionManager.registerMissionListener
registerMissionListener(listener: MissionListener): number;
注册系统任务状态监听。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
listener | MissionListener | 是 | 系统任务监听方法。 |
返回值:
类型 | 说明 |
---|---|
number | 监听方法的index值,由系统创建,在注册系统任务状态监听时分配,和监听方法一一对应 。 |
示例:
var listener = {
onMissionCreated: function(mission){"--------onMissionCreated-------"},
onMissionDestroyed: function(mission){"--------onMissionDestroyed-------"},
onMissionSnapshotChanged: function(mission){"--------onMissionSnapshotChanged-------"},
onMissionMovedToFront: function(mission){"--------onMissionMovedToFront-------"},
onMissionIconUpdated: function(mission,icon){"--------onMissionIconUpdated-------"}
};
console.log("registerMissionListener")
var listenerid = missionManager.registerMissionListener(listener);
missionManager.unregisterMissionListener
unregisterMissionListener(listenerId: number, callback: AsyncCallback<void>): void;
取消任务状态监听。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
示例:
var listener = {
onMissionCreated: function(mission){"--------onMissionCreated-------"},
onMissionDestroyed: function(mission){"--------onMissionDestroyed-------"},
onMissionSnapshotChanged: function(mission){"--------onMissionSnapshotChanged-------"},
onMissionMovedToFront: function(mission){"--------onMissionMovedToFront-------"},
onMissionIconUpdated: function(mission,icon){"--------onMissionIconUpdated-------"}
};
console.log("registerMissionListener")
var listenerid = missionManager.registerMissionListener(listener);
missionManager.unregisterMissionListener(listenerid, (error) => {
console.log("unregisterMissionListener");
})
missionManager.unregisterMissionListener
unregisterMissionListener(listenerId: number): Promise<void>;
取消任务状态监听,以promise方式返回执行结果。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | promise方式返回执行结果。 |
示例:
var listener = {
onMissionCreated: function(mission){"--------onMissionCreated-------"},
onMissionDestroyed: function(mission){"--------onMissionDestroyed-------"},
onMissionSnapshotChanged: function(mission){"--------onMissionSnapshotChanged-------"},
onMissionMovedToFront: function(mission){"--------onMissionMovedToFront-------"},
onMissionIconUpdated: function(mission,icon){"--------onMissionIconUpdated-------"}
};
console.log("registerMissionListener")
var listenerid = missionManager.registerMissionListener(listener);
missionManager.unregisterMissionListener(listenerid).catch(function (err){
console.log(err);
});
missionManager.getMissionInfo
getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void;
获取任务信息,以异步回调的方式返回任务信息。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
missionId | number | 是 | 任务ID。 |
callback | AsyncCallback<MissionInfo> | 是 | 执行结果回调函数,返回任务信息。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions=missionManager.getMissionInfos("",10).catch(function(err){console.log(err);});
missionManager.getMissionInfo("", allMissions[0].missionId, (error, mission) => {
console.log("getMissionInfo is called, error.code = " + error.code)
console.log("mission.missionId = " + mission.missionId);
console.log("mission.runningState = " + mission.runningState);
console.log("mission.lockedState = " + mission.lockedState);
console.log("mission.timestamp = " + mission.timestamp);
console.log("mission.label = " + mission.label);
console.log("mission.iconPath = " + mission.iconPath);
});
missionManager.getMissionInfo
getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>;
获取任务信息,以promise方式返回任务信息。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
missionId | number | 是 | 任务ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<MissionInfo> | 任务信息。 |
示例:
import missionManager from '@ohos.application.missionManager'
var mission = missionManager.getMissionInfo("", 10).catch(function (err){
console.log(err);
});
missionManager.getMissionInfos
getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void;
获取所有任务信息,以回调函数的方式返回任务信息数组。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
numMax | number | 是 | 任务信息数量上限。 |
callback | AsyncCallback<Array<MissionInfo>> | 是 | 执行结果回调函数,返回任务信息数组。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
})
missionManager.getMissionInfos
getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>;
获取所有任务信息,以promise的方式返回任务信息数组。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
numMax | number | 是 | 任务信息数量上限。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<MissionInfo>> | 任务信息数组。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
console.log(err);
});
missionManager.getMissionSnapShot
getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void;
获取任务快照,以回调函数的方式返回快照内容。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
missionId | number | 是 | 任务ID。 |
callback | AsyncCallback<MissionSnapshot> | 是 | 执行结果回调函数,返回任务快照信息。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.getMissionSnapShot("", id, (error, snapshot) => {
console.log("getMissionSnapShot is called, error.code = " + error.code);
console.log("bundleName = " + snapshot.ability.bundleName);
})
})
missionManager.getMissionSnapShot
getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>;
获取任务快照,以promise的方式返回快照内容。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
missionId | number | 是 | 任务ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<MissionSnapshot> | 任务快照信息。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
var snapshot = missionManager.getMissionSnapShot("", id).catch(function (err){
console.log(err);
});
missionManager.lockMission
lockMission(missionId: number, callback: AsyncCallback<void>): void;
锁定指定任务id的任务,以回调函数的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.lockMission(id).then(() => {
console.log("lockMission is called ");
});
});
missionManager.lockMission
lockMission(missionId: number): Promise<void>;
锁定指定任务id的任务,以promise方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | promise方式返回执行结果。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.lockMission(id).catch(function (err){
console.log(err);
});
missionManager.unlockMission
unlockMission(missionId: number, callback: AsyncCallback<void>): void;
解锁指定任务id的任务,以回调函数的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.unlockMission(id).then(() => {
console.log("unlockMission is called ");
});
});
missionManager.unlockMission
unlockMission(missionId: number): Promise<void>;
解锁指定任务id的任务,以promise的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | promise方式返回执行结果。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.lockMission(id).catch(function (err){
console.log(err);
});
missionManager.unlockMission(id).catch(function (err){
console.log(err);
});
missionManager.clearMission
clearMission(missionId: number, callback: AsyncCallback<void>): void;
清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.clearMission(id).then(() => {
console.log("clearMission is called ");
});
});
missionManager.clearMission
clearMission(missionId: number): Promise<void>;
清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | promise方式返回执行结果。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.clearMission(id).catch(function (err){
console.log(err);
});
missionManager.clearAllMissions
clearAllMissions(callback: AsyncCallback<void>): void;
清理所有未锁定的任务,以回调函数的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.clearAllMissions().then(() => {
console.log("clearAllMissions is called ");
});
missionManager.clearAllMissions
clearAllMissions(): Promise<void>;
清理所有未锁定的任务,以promise的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
返回值:
类型 | 说明 |
---|---|
Promise<void> | promise方式返回执行结果。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.clearAllMissions().catch(function (err){
console.log(err);
});
missionManager.moveMissionToFront
moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void;
把指定任务id的任务切到前台,以回调函数的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.moveMissionToFront(id).then(() => {
console.log("moveMissionToFront is called ");
});
});
missionManager.moveMissionToFront
moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback<void>): void;
把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
options | StartOptions | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
示例:
import missionManager from '@ohos.application.missionManager'
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => {
console.log("moveMissionToFront is called ");
});
});
missionManager.moveMissionToFront
moveMissionToFront(missionId: number, options?: StartOptions): Promise<void>;
把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。
需要权限:ohos.permission.MANAGE_MISSIONS
系统能力:SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID。 |
options | StartOptions | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | promise方式返回执行结果。 |
示例:
import missionManager from '@ohos.application.missionManager'
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.moveMissionToFront(id).catch(function (err){
console.log(err);
});
MissionInfo
表示Ability对应任务信息的枚举。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission
系统API: 此接口为系统接口,三方应用不支持调用。
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
missionId | number | 是 | 是 | 表示任务ID。 |
runningState | number | 是 | 是 | 表示运行状态。 |
lockedState | boolean | 是 | 是 | 表示锁定状态。 |
timestamp | string | 是 | 是 | 表示任务的最近创建或更新时间。 |
want | Want | 是 | 是 | 表示任务的Want信息。 |
label | string | 是 | 是 | 表示任务的标签。 |
iconPath | string | 是 | 是 | 表示任务的图标路径。 |
continuable | boolean HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 | 是 | 是 | 表示任务是否可以继续。 |
鸿蒙开发岗位需要掌握那些核心要领?
目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。
自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。
废话就不多说了,接下来好好看下这份资料。
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
其中内容包含:
《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
最后
鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!