鸿蒙开发接口Ability框架:【@ohos.application.missionManager (missionManager)】

电子说

1.3w人已加入

描述

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 : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
listenerMissionListener系统任务监听方法。

返回值:

类型说明
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;

取消任务状态监听。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
listenerIdnumber系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。
callbackAsyncCallback执行结果回调函数。

示例:

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;

取消任务状态监听,以promise方式返回执行结果。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
listenerIdnumber系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。

返回值:

类型说明
Promisepromise方式返回执行结果。

示例:

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): void;

获取任务信息,以异步回调的方式返回任务信息。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
deviceIdstring设备ID,本机默认为空字符串。
missionIdnumber任务ID。
callbackAsyncCallback[[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;

获取任务信息,以promise方式返回任务信息。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
deviceIdstring设备ID,本机默认为空字符串。
missionIdnumber任务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>): void;

获取所有任务信息,以回调函数的方式返回任务信息数组。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
deviceIdstring设备ID,本机默认为空字符串。
numMaxnumber任务信息数量上限。
callbackAsyncCallback>执行结果回调函数,返回任务信息数组。

示例:

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>;

获取所有任务信息,以promise的方式返回任务信息数组。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
deviceIdstring设备ID,本机默认为空字符串。
numMaxnumber任务信息数量上限。

返回值:

类型说明
Promise>任务信息数组。

示例:

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): void;

获取任务快照,以回调函数的方式返回快照内容。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
deviceIdstring设备ID,本机默认为空字符串。
missionIdnumber任务ID。
callbackAsyncCallback[[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;

获取任务快照,以promise的方式返回快照内容。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
deviceIdstring设备ID,本机默认为空字符串。
missionIdnumber任务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;

锁定指定任务id的任务,以回调函数的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。
callbackAsyncCallback执行结果回调函数。

示例:

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;

锁定指定任务id的任务,以promise方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。

返回值:

类型说明
Promisepromise方式返回执行结果。

示例:

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;

解锁指定任务id的任务,以回调函数的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。
callbackAsyncCallback执行结果回调函数。

示例:

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;

解锁指定任务id的任务,以promise的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。

返回值:

类型说明
Promisepromise方式返回执行结果。

示例:

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;

清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。
callbackAsyncCallback执行结果回调函数。

示例:

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;

清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。

返回值:

类型说明
Promisepromise方式返回执行结果。

示例:

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;

清理所有未锁定的任务,以回调函数的方式返回。

需要权限 :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;

清理所有未锁定的任务,以promise的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

返回值:

类型说明
Promisepromise方式返回执行结果。

示例:

import missionManager from '@ohos.application.missionManager'
missionManager.clearAllMissions().catch(function (err){
  console.log(err);
});

missionManager.moveMissionToFront

moveMissionToFront(missionId: number, callback: AsyncCallback): void;

把指定任务id的任务切到前台,以回调函数的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。
callbackAsyncCallback执行结果回调函数。

示例:

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;

把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。
optionsStartOptions启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。
callbackAsyncCallback执行结果回调函数。

示例:

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;

把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。

需要权限 :ohos.permission.MANAGE_MISSIONS

系统能力 :SystemCapability.Ability.AbilityRuntime.Mission

系统API : 此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
missionIdnumber任务ID。
optionsStartOptions启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。

返回值:

类型说明
Promisepromise方式返回执行结果。

示例:

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 : 此接口为系统接口,三方应用不支持调用。

名称参数类型可读可写说明
missionIdnumber表示任务ID。
runningStatenumber表示运行状态。
lockedStateboolean表示锁定状态。
timestampstring表示任务的最近创建或更新时间。
want[Want]表示任务的Want信息。
labelstring表示任务的标签。
iconPathstring表示任务的图标路径。
continuablebooleanHarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿表示任务是否可以继续。

鸿蒙

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分