161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci */ 1961847f8eSopenharmony_ci 2061847f8eSopenharmony_ciimport { AsyncCallback, Callback } from './@ohos.base'; 2161847f8eSopenharmony_ciimport { WantAgent } from './@ohos.wantAgent'; 2261847f8eSopenharmony_ciimport Context from './application/BaseContext'; 2361847f8eSopenharmony_ci 2461847f8eSopenharmony_ci/** 2561847f8eSopenharmony_ci * Manages background tasks. 2661847f8eSopenharmony_ci * 2761847f8eSopenharmony_ci * @namespace backgroundTaskManager 2861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 2961847f8eSopenharmony_ci * @since 7 3061847f8eSopenharmony_ci * @deprecated since 9 3161847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager 3261847f8eSopenharmony_ci */ 3361847f8eSopenharmony_cideclare namespace backgroundTaskManager { 3461847f8eSopenharmony_ci /** 3561847f8eSopenharmony_ci * The info of delay suspend. 3661847f8eSopenharmony_ci * 3761847f8eSopenharmony_ci * @name DelaySuspendInfo 3861847f8eSopenharmony_ci * @interface DelaySuspendInfo 3961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 4061847f8eSopenharmony_ci * @since 7 4161847f8eSopenharmony_ci * @deprecated since 9 4261847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.DelaySuspendInfo 4361847f8eSopenharmony_ci */ 4461847f8eSopenharmony_ci interface DelaySuspendInfo { 4561847f8eSopenharmony_ci /** 4661847f8eSopenharmony_ci * The unique identifier of the delay request. 4761847f8eSopenharmony_ci * 4861847f8eSopenharmony_ci * @type { number } 4961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 5061847f8eSopenharmony_ci * @since 7 5161847f8eSopenharmony_ci * @deprecated since 9 5261847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.DelaySuspendInfo 5361847f8eSopenharmony_ci */ 5461847f8eSopenharmony_ci requestId: number; 5561847f8eSopenharmony_ci /** 5661847f8eSopenharmony_ci * The actual delay duration (ms). 5761847f8eSopenharmony_ci * 5861847f8eSopenharmony_ci * @type { number } 5961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 6061847f8eSopenharmony_ci * @since 7 6161847f8eSopenharmony_ci * @deprecated since 9 6261847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.DelaySuspendInfo 6361847f8eSopenharmony_ci */ 6461847f8eSopenharmony_ci actualDelayTime: number; 6561847f8eSopenharmony_ci } 6661847f8eSopenharmony_ci 6761847f8eSopenharmony_ci /** 6861847f8eSopenharmony_ci * Cancels delayed transition to the suspended state. 6961847f8eSopenharmony_ci * 7061847f8eSopenharmony_ci * @param { number } requestId Indicates the identifier of the delay request. 7161847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 7261847f8eSopenharmony_ci * @since 7 7361847f8eSopenharmony_ci * @deprecated since 9 7461847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.cancelSuspendDelay 7561847f8eSopenharmony_ci */ 7661847f8eSopenharmony_ci function cancelSuspendDelay(requestId: number): void; 7761847f8eSopenharmony_ci 7861847f8eSopenharmony_ci /** 7961847f8eSopenharmony_ci * Obtains the remaining time before an application enters the suspended state. 8061847f8eSopenharmony_ci * 8161847f8eSopenharmony_ci * @param { number } requestId Indicates the identifier of the delay request. 8261847f8eSopenharmony_ci * @param { AsyncCallback<number> } callback - The callback of the remaining delay time. 8361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 8461847f8eSopenharmony_ci * @since 7 8561847f8eSopenharmony_ci * @deprecated since 9 8661847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.getRemainingDelayTime 8761847f8eSopenharmony_ci */ 8861847f8eSopenharmony_ci function getRemainingDelayTime(requestId: number, callback: AsyncCallback<number>): void; 8961847f8eSopenharmony_ci 9061847f8eSopenharmony_ci /** 9161847f8eSopenharmony_ci * Obtains the remaining time before an application enters the suspended state. 9261847f8eSopenharmony_ci * 9361847f8eSopenharmony_ci * @param { number } requestId Indicates the identifier of the delay request. 9461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 9561847f8eSopenharmony_ci * @since 7 9661847f8eSopenharmony_ci * @deprecated since 9 9761847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.getRemainingDelayTime 9861847f8eSopenharmony_ci */ 9961847f8eSopenharmony_ci function getRemainingDelayTime(requestId: number): Promise<number>; 10061847f8eSopenharmony_ci 10161847f8eSopenharmony_ci /** 10261847f8eSopenharmony_ci * Requests delayed transition to the suspended state. 10361847f8eSopenharmony_ci * 10461847f8eSopenharmony_ci * @param { string } reason Indicates the reason for delayed transition to the suspended state. 10561847f8eSopenharmony_ci * @param { Callback<void> } callback The callback delay time expired. 10661847f8eSopenharmony_ci * @returns { DelaySuspendInfo } Info of delay request 10761847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 10861847f8eSopenharmony_ci * @since 7 10961847f8eSopenharmony_ci * @deprecated since 9 11061847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.requestSuspendDelay 11161847f8eSopenharmony_ci */ 11261847f8eSopenharmony_ci function requestSuspendDelay(reason: string, callback: Callback<void>): DelaySuspendInfo; 11361847f8eSopenharmony_ci 11461847f8eSopenharmony_ci /** 11561847f8eSopenharmony_ci * Service ability uses this method to request start running in background. 11661847f8eSopenharmony_ci * system will publish a notification related to the this service. 11761847f8eSopenharmony_ci * 11861847f8eSopenharmony_ci * @permission ohos.permission.KEEP_BACKGROUND_RUNNING 11961847f8eSopenharmony_ci * @param { Context } context app running context. 12061847f8eSopenharmony_ci * @param { BackgroundMode } bgMode Indicates which background mode to request. 12161847f8eSopenharmony_ci * @param { WantAgent } wantAgent Indicates which ability to start when user click the notification bar. 12261847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of the function. 12361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 12461847f8eSopenharmony_ci * @since 8 12561847f8eSopenharmony_ci * @deprecated since 9 12661847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.startBackgroundRunning 12761847f8eSopenharmony_ci */ 12861847f8eSopenharmony_ci function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent, callback: AsyncCallback<void>): void; 12961847f8eSopenharmony_ci 13061847f8eSopenharmony_ci /** 13161847f8eSopenharmony_ci * Service ability uses this method to request start running in background. 13261847f8eSopenharmony_ci * system will publish a notification related to the this service. 13361847f8eSopenharmony_ci * 13461847f8eSopenharmony_ci * @permission ohos.permission.KEEP_BACKGROUND_RUNNING 13561847f8eSopenharmony_ci * @param { Context } context app running context. 13661847f8eSopenharmony_ci * @param { BackgroundMode } bgMode Indicates which background mode to request. 13761847f8eSopenharmony_ci * @param { WantAgent } wantAgent Indicates which ability to start when user click the notification bar. 13861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 13961847f8eSopenharmony_ci * @since 8 14061847f8eSopenharmony_ci * @deprecated since 9 14161847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.startBackgroundRunning 14261847f8eSopenharmony_ci */ 14361847f8eSopenharmony_ci function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise<void>; 14461847f8eSopenharmony_ci 14561847f8eSopenharmony_ci /** 14661847f8eSopenharmony_ci * Service ability uses this method to request stop running in background. 14761847f8eSopenharmony_ci * 14861847f8eSopenharmony_ci * @param { Context } context - App running context. 14961847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of the function. 15061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 15161847f8eSopenharmony_ci * @since 8 15261847f8eSopenharmony_ci * @deprecated since 9 15361847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.stopBackgroundRunning 15461847f8eSopenharmony_ci */ 15561847f8eSopenharmony_ci function stopBackgroundRunning(context: Context, callback: AsyncCallback<void>): void; 15661847f8eSopenharmony_ci 15761847f8eSopenharmony_ci /** 15861847f8eSopenharmony_ci * Service ability uses this method to request stop running in background. 15961847f8eSopenharmony_ci * 16061847f8eSopenharmony_ci * @param { Context } context - App running context. 16161847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 16261847f8eSopenharmony_ci * @since 8 16361847f8eSopenharmony_ci * @deprecated since 9 16461847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.stopBackgroundRunning 16561847f8eSopenharmony_ci */ 16661847f8eSopenharmony_ci function stopBackgroundRunning(context: Context): Promise<void>; 16761847f8eSopenharmony_ci 16861847f8eSopenharmony_ci /** 16961847f8eSopenharmony_ci * Supported background mode. 17061847f8eSopenharmony_ci * 17161847f8eSopenharmony_ci * @enum { number } 17261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 17361847f8eSopenharmony_ci * @since 8 17461847f8eSopenharmony_ci * @deprecated since 9 17561847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.backgroundTaskManager.BackgroundMode 17661847f8eSopenharmony_ci */ 17761847f8eSopenharmony_ci export enum BackgroundMode { 17861847f8eSopenharmony_ci /** 17961847f8eSopenharmony_ci * data transfer mode 18061847f8eSopenharmony_ci * 18161847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 18261847f8eSopenharmony_ci * @since 8 18361847f8eSopenharmony_ci * @deprecated since 9 18461847f8eSopenharmony_ci */ 18561847f8eSopenharmony_ci DATA_TRANSFER = 1, 18661847f8eSopenharmony_ci 18761847f8eSopenharmony_ci /** 18861847f8eSopenharmony_ci * audio playback mode 18961847f8eSopenharmony_ci * 19061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 19161847f8eSopenharmony_ci * @since 8 19261847f8eSopenharmony_ci * @deprecated since 9 19361847f8eSopenharmony_ci */ 19461847f8eSopenharmony_ci AUDIO_PLAYBACK = 2, 19561847f8eSopenharmony_ci 19661847f8eSopenharmony_ci /** 19761847f8eSopenharmony_ci * audio recording mode 19861847f8eSopenharmony_ci * 19961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 20061847f8eSopenharmony_ci * @since 8 20161847f8eSopenharmony_ci * @deprecated since 9 20261847f8eSopenharmony_ci */ 20361847f8eSopenharmony_ci AUDIO_RECORDING = 3, 20461847f8eSopenharmony_ci 20561847f8eSopenharmony_ci /** 20661847f8eSopenharmony_ci * location mode 20761847f8eSopenharmony_ci * 20861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 20961847f8eSopenharmony_ci * @since 8 21061847f8eSopenharmony_ci * @deprecated since 9 21161847f8eSopenharmony_ci */ 21261847f8eSopenharmony_ci LOCATION = 4, 21361847f8eSopenharmony_ci 21461847f8eSopenharmony_ci /** 21561847f8eSopenharmony_ci * bluetooth interaction mode 21661847f8eSopenharmony_ci * 21761847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 21861847f8eSopenharmony_ci * @since 8 21961847f8eSopenharmony_ci * @deprecated since 9 22061847f8eSopenharmony_ci */ 22161847f8eSopenharmony_ci BLUETOOTH_INTERACTION = 5, 22261847f8eSopenharmony_ci 22361847f8eSopenharmony_ci /** 22461847f8eSopenharmony_ci * multi-device connection mode 22561847f8eSopenharmony_ci * 22661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 22761847f8eSopenharmony_ci * @since 8 22861847f8eSopenharmony_ci * @deprecated since 9 22961847f8eSopenharmony_ci */ 23061847f8eSopenharmony_ci MULTI_DEVICE_CONNECTION = 6, 23161847f8eSopenharmony_ci 23261847f8eSopenharmony_ci /** 23361847f8eSopenharmony_ci * wifi interaction mode 23461847f8eSopenharmony_ci * 23561847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 23661847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 23761847f8eSopenharmony_ci * @since 8 23861847f8eSopenharmony_ci * @deprecated since 9 23961847f8eSopenharmony_ci */ 24061847f8eSopenharmony_ci WIFI_INTERACTION = 7, 24161847f8eSopenharmony_ci 24261847f8eSopenharmony_ci /** 24361847f8eSopenharmony_ci * Voice over Internet Phone mode 24461847f8eSopenharmony_ci * 24561847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 24661847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 24761847f8eSopenharmony_ci * @since 8 24861847f8eSopenharmony_ci * @deprecated since 9 24961847f8eSopenharmony_ci */ 25061847f8eSopenharmony_ci VOIP = 8, 25161847f8eSopenharmony_ci 25261847f8eSopenharmony_ci /** 25361847f8eSopenharmony_ci * background continuous calculate mode, for example 3D render. 25461847f8eSopenharmony_ci * only supported in particular device 25561847f8eSopenharmony_ci * 25661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 25761847f8eSopenharmony_ci * @since 8 25861847f8eSopenharmony_ci * @deprecated since 9 25961847f8eSopenharmony_ci */ 26061847f8eSopenharmony_ci TASK_KEEPING = 9, 26161847f8eSopenharmony_ci } 26261847f8eSopenharmony_ci} 26361847f8eSopenharmony_ci 26461847f8eSopenharmony_ciexport default backgroundTaskManager; 265