missionManager
missionManager模塊提供系統任務管理能力,包括對系統任務執行鎖定、解鎖、清理、切換到前臺等操作。
說明:
導入模塊
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;
取消任務狀態監聽。
需要權限 :ohos.permission.MANAGE_MISSIONS
系統能力 :SystemCapability.Ability.AbilityRuntime.Mission
系統API : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
listenerId | number | 是 | 系統任務狀態監聽方法的index值,和監聽方法一一對應,由registerMissionListener方法返回。 |
callback | AsyncCallback | 是 | 執行結果回調函數。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
listenerId | number | 是 | 系統任務狀態監聽方法的index值,和監聽方法一一對應,由registerMissionListener方法返回。 |
返回值:
類型 | 說明 |
---|---|
Promise | 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): 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;
獲取任務信息,以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>): void;
獲取所有任務信息,以回調函數的方式返回任務信息數組。
需要權限 :ohos.permission.MANAGE_MISSIONS
系統能力 :SystemCapability.Ability.AbilityRuntime.Mission
系統API : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
deviceId | string | 是 | 設備ID,本機默認為空字符串。 |
numMax | number | 是 | 任務信息數量上限。 |
callback | AsyncCallback> | 是 | 執行結果回調函數,返回任務信息數組。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
deviceId | string | 是 | 設備ID,本機默認為空字符串。 |
numMax | number | 是 | 任務信息數量上限。 |
返回值:
類型 | 說明 |
---|---|
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
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;
獲取任務快照,以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;
鎖定指定任務id的任務,以回調函數的方式返回。
需要權限 :ohos.permission.MANAGE_MISSIONS
系統能力 :SystemCapability.Ability.AbilityRuntime.Mission
系統API : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
callback | AsyncCallback | 是 | 執行結果回調函數。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
返回值:
類型 | 說明 |
---|---|
Promise | 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;
解鎖指定任務id的任務,以回調函數的方式返回。
需要權限 :ohos.permission.MANAGE_MISSIONS
系統能力 :SystemCapability.Ability.AbilityRuntime.Mission
系統API : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
callback | AsyncCallback | 是 | 執行結果回調函數。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
返回值:
類型 | 說明 |
---|---|
Promise | 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;
清理指定任務id的任務,無論該任務是否被鎖定,以回調函數的方式返回。
需要權限 :ohos.permission.MANAGE_MISSIONS
系統能力 :SystemCapability.Ability.AbilityRuntime.Mission
系統API : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
callback | AsyncCallback | 是 | 執行結果回調函數。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
返回值:
類型 | 說明 |
---|---|
Promise | 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;
清理所有未鎖定的任務,以回調函數的方式返回。
需要權限 :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 : 此接口為系統接口,三方應用不支持調用。
返回值:
類型 | 說明 |
---|---|
Promise | promise方式返回執行結果。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
callback | AsyncCallback | 是 | 執行結果回調函數。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
options | StartOptions | 是 | 啟動參數選項,用于指定任務切到前臺時的窗口模式,設備ID等。 |
callback | AsyncCallback | 是 | 執行結果回調函數。 |
示例:
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 : 此接口為系統接口,三方應用不支持調用。
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
missionId | number | 是 | 任務ID。 |
options | StartOptions | 否 | 啟動參數選項,用于指定任務切到前臺時的窗口模式,設備ID等。 |
返回值:
類型 | 說明 |
---|---|
Promise | 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 | booleanHarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 | 是 | 是 | 表示任務是否可以繼續。 |
審核編輯 黃宇
-
接口
+關注
關注
33文章
8496瀏覽量
150834 -
框架
+關注
關注
0文章
398瀏覽量
17432 -
鴻蒙
+關注
關注
57文章
2307瀏覽量
42738
發布評論請先 登錄
相關推薦
評論