1e41f4b71Sopenharmony_ci# TransientTask 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## 概述 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci提供短时任务C接口。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci**起始版本:** 13 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## 汇总 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci### 文件 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci| 名称 | 描述 | 15e41f4b71Sopenharmony_ci| -------- | -------- | 16e41f4b71Sopenharmony_ci| [transient_task_api.h](transient__task__api_8h.md) | 提供短时任务申请、查询、取消功能。 | 17e41f4b71Sopenharmony_ci| [transient_task_type.h](transient__task__type_8h.md) | 定义短时任务的错误码和结构体。 | 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci### 结构体 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci| 名称 | 描述 | 23e41f4b71Sopenharmony_ci| -------- | -------- | 24e41f4b71Sopenharmony_ci| struct [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) | 定义短时任务返回信息结构体。 | 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci### 类型定义 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci| 名称 | 描述 | 30e41f4b71Sopenharmony_ci| -------- | -------- | 31e41f4b71Sopenharmony_ci| typedef enum [TransientTask_ErrorCode](#transienttask_errorcode)[TransientTask_ErrorCode](#transienttask_errorcode) | 定义短时任务错误码。 | 32e41f4b71Sopenharmony_ci| typedef struct [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md)[TransientTask_DelaySuspendInfo](#transienttask_delaysuspendinfo) | 定义短时任务返回信息结构体。 | 33e41f4b71Sopenharmony_ci| typedef void(\* [TransientTask_Callback](#transienttask_callback)) (void) | 定义短时任务超时回调类型。 | 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci### 枚举 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci| 名称 | 描述 | 39e41f4b71Sopenharmony_ci| -------- | -------- | 40e41f4b71Sopenharmony_ci| [TransientTask_ErrorCode](#transienttask_errorcode) {<br/>ERR_TRANSIENT_TASK_OK = 0, ERR_TRANSIENT_TASK_INVALID_PARAM = 401, ERR_TRANSIENT_TASK_PARCEL_FAILED = 9800002, ERR_TRANSIENT_TASK_TRANSACTION_FAILED = 9800003,<br/>ERR_TRANSIENT_TASK_SYS_NOT_READY = 9800004, ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED = 9900001, ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED = 9900002<br/>} | 定义短时任务错误码。 | 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci### 函数 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci| 名称 | 描述 | 46e41f4b71Sopenharmony_ci| -------- | -------- | 47e41f4b71Sopenharmony_ci| int32_t [OH_BackgroundTaskManager_RequestSuspendDelay](#oh_backgroundtaskmanager_requestsuspenddelay) (const char \*reason, [TransientTask_Callback](#transienttask_callback) callback, [TransientTask_DelaySuspendInfo](_transient_task___delay_suspend_info.md) \*info) | 申请短时任务。 | 48e41f4b71Sopenharmony_ci| int32_t [OH_BackgroundTaskManager_GetRemainingDelayTime](#oh_backgroundtaskmanager_getremainingdelaytime) (int32_t requestId, int32_t \*delayTime) | 获取本次短时任务的剩余时间。 | 49e41f4b71Sopenharmony_ci| int32_t [OH_BackgroundTaskManager_CancelSuspendDelay](#oh_backgroundtaskmanager_cancelsuspenddelay) (int32_t requestId) | 取消短时任务。 | 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci## 类型定义说明 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci### TransientTask_Callback 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci``` 58e41f4b71Sopenharmony_citypedef void(* TransientTask_Callback) (void) 59e41f4b71Sopenharmony_ci``` 60e41f4b71Sopenharmony_ci**描述** 61e41f4b71Sopenharmony_ci定义短时任务超时回调类型。 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**起始版本:** 13 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci### TransientTask_DelaySuspendInfo 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci``` 69e41f4b71Sopenharmony_citypedef struct TransientTask_DelaySuspendInfoTransientTask_DelaySuspendInfo 70e41f4b71Sopenharmony_ci``` 71e41f4b71Sopenharmony_ci**描述** 72e41f4b71Sopenharmony_ci定义短时任务返回信息结构体。 73e41f4b71Sopenharmony_ci 74e41f4b71Sopenharmony_ci**起始版本:** 13 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci### TransientTask_ErrorCode 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci``` 80e41f4b71Sopenharmony_citypedef enum TransientTask_ErrorCodeTransientTask_ErrorCode 81e41f4b71Sopenharmony_ci``` 82e41f4b71Sopenharmony_ci**描述** 83e41f4b71Sopenharmony_ci定义短时任务错误码。 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci**起始版本:** 13 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci## 枚举类型说明 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci### TransientTask_ErrorCode 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci``` 94e41f4b71Sopenharmony_cienum TransientTask_ErrorCode 95e41f4b71Sopenharmony_ci``` 96e41f4b71Sopenharmony_ci**描述** 97e41f4b71Sopenharmony_ci定义短时任务错误码。 98e41f4b71Sopenharmony_ci 99e41f4b71Sopenharmony_ci**起始版本:** 13 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 102e41f4b71Sopenharmony_ci| -------- | -------- | 103e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_OK | \@error 成功。 | 104e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_INVALID_PARAM | \@error 入参错误,比如参数空指针。 | 105e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_PARCEL_FAILED | \@error Parcel读写操作失败。 | 106e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_TRANSACTION_FAILED | \@error IPC通信失败。 | 107e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_SYS_NOT_READY | \@error 系统服务失败。 | 108e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED | \@error 短时任务客户端信息校验失败。 | 109e41f4b71Sopenharmony_ci| ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED | \@error 短时任务服务端校验失败。 | 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci## 函数说明 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci### OH_BackgroundTaskManager_CancelSuspendDelay() 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci``` 118e41f4b71Sopenharmony_ciint32_t OH_BackgroundTaskManager_CancelSuspendDelay (int32_t requestId) 119e41f4b71Sopenharmony_ci``` 120e41f4b71Sopenharmony_ci**描述** 121e41f4b71Sopenharmony_ci取消短时任务。 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ci**起始版本:** 13 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci**参数:** 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ci| 名称 | 描述 | 130e41f4b71Sopenharmony_ci| -------- | -------- | 131e41f4b71Sopenharmony_ci| requestId | 短时任务的请求ID。 | 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci**返回:** 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci返回0,表示取消成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci### OH_BackgroundTaskManager_GetRemainingDelayTime() 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci``` 141e41f4b71Sopenharmony_ciint32_t OH_BackgroundTaskManager_GetRemainingDelayTime (int32_t requestId, int32_t * delayTime ) 142e41f4b71Sopenharmony_ci``` 143e41f4b71Sopenharmony_ci**描述** 144e41f4b71Sopenharmony_ci获取本次短时任务的剩余时间。 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**起始版本:** 13 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci**参数:** 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| 名称 | 描述 | 153e41f4b71Sopenharmony_ci| -------- | -------- | 154e41f4b71Sopenharmony_ci| requestId | 短时任务的请求ID。 | 155e41f4b71Sopenharmony_ci| time | 短时任务的剩余时间。 | 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci**返回:** 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci返回0,表示查询成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci 162e41f4b71Sopenharmony_ci### OH_BackgroundTaskManager_RequestSuspendDelay() 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci``` 165e41f4b71Sopenharmony_ciint32_t OH_BackgroundTaskManager_RequestSuspendDelay (const char * reason, TransientTask_Callback callback, TransientTask_DelaySuspendInfo * info ) 166e41f4b71Sopenharmony_ci``` 167e41f4b71Sopenharmony_ci**描述** 168e41f4b71Sopenharmony_ci申请短时任务。 169e41f4b71Sopenharmony_ci 170e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask 171e41f4b71Sopenharmony_ci 172e41f4b71Sopenharmony_ci**起始版本:** 13 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ci**参数:** 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci| 名称 | 描述 | 177e41f4b71Sopenharmony_ci| -------- | -------- | 178e41f4b71Sopenharmony_ci| reason | 申请短时任务的原因。 | 179e41f4b71Sopenharmony_ci| callback | 短时任务即将超时的回调,一般在超时前6秒,通过此回调通知应用。 | 180e41f4b71Sopenharmony_ci| delaySuspendInfo | 返回短时任务信息。 | 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci**返回:** 183e41f4b71Sopenharmony_ci 184e41f4b71Sopenharmony_ci返回0,表示申请成功。 返回401,表示入参错误。 返回9800002,表示Parcel读写操作失败。 返回9800003,表示IPC通信失败。 返回9800004,表示系统服务失败。 返回9900001,表示短时任务客户端信息校验失败。 返回9900002,表示短时任务服务端校验失败。 错误码的具体信息请参考[TransientTask_ErrorCode](#transienttask_errorcode)。 185