W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
本模塊提供延遲任務(wù)注冊、取消、查詢的能力。
開發(fā)者在開發(fā)應(yīng)用時,通過調(diào)用延遲任務(wù)注冊接口,注冊對實(shí)時性要求不高的延遲任務(wù),該任務(wù)默認(rèn)由系統(tǒng)安排,在系統(tǒng)空閑時根據(jù)性能、功耗、熱等情況進(jìn)行調(diào)度執(zhí)行。
startWork(work: WorkInfo): void
通知WorkSchedulerService將工作添加到執(zhí)行隊列。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
work | 是 | 指示要添加到執(zhí)行隊列的工作。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
9700004 | Check workInfo failed. |
9700005 | StartWork failed. |
示例:
- let workInfo = {
- workId: 1,
- batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
- isRepeat: false,
- isPersisted: true,
- bundleName: "com.example.myapplication",
- abilityName: "MyExtension",
- parameters: {
- mykey0: 1,
- mykey1: "string value",
- mykey2: true,
- mykey3: 1.5
- }
- }
- try{
- workScheduler.startWork(workInfo);
- console.info('workschedulerLog startWork success');
- } catch (error) {
- console.error(`workschedulerLog startwork failed. code is ${error.code} message is ${error.message}`);
- }
stopWork(work: WorkInfo, needCancel?: boolean): void
通知WorkSchedulerService停止指定工作。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
work | 是 | 指示要停止的工作。 | |
needCancel | boolean | 否 | 是否需要取消的工作,默認(rèn)為不取消。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
9700004 | Check workInfo failed. |
示例:
- let workInfo = {
- workId: 1,
- batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
- isRepeat: false,
- isPersisted: true,
- bundleName: "com.example.myapplication",
- abilityName: "MyExtension",
- parameters: {
- mykey0: 1,
- mykey1: "string value",
- mykey2: true,
- mykey3: 1.5
- }
- }
- try{
- workScheduler.stopWork(workInfo, false);
- console.info('workschedulerLog stopWork success');
- } catch (error) {
- console.error(`workschedulerLog stopWork failed. code is ${error.code} message is ${error.message}`);
- }
getWorkStatus(workId: number, callback : AsyncCallback<WorkInfo>): void
獲取工作的最新狀態(tài),使用Callback形式返回。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
workId | number | 是 | work的id。 |
callback | AsyncCallback<WorkInfo> | 是 | 指定的callback回調(diào)方法。如果指定的工作Id有效,則返回從WorkSchedulerService獲取的有效工作狀態(tài);否則拋出異常。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
9700004 | Check workInfo failed. |
示例:
- try{
- workScheduler.getWorkStatus(50, (error, res) => {
- if (error) {
- console.error(`workschedulerLog getWorkStatus failed. code is ${error.code} message is ${error.message}`);
- } else {
- for (let item in res) {
- console.info(`workschedulerLog getWorkStatus success, ${item} is: ${res[item]}`);
- }
- }
- });
- } catch (error) {
- console.error(`workschedulerLog getWorkStatus failed. code is ${error.code} message is ${error.message}`);
- }
getWorkStatus(workId: number): Promise<WorkInfo>
獲取工作的最新狀態(tài),使用Promise形式返回。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
workId | number | 是 | work的id。 |
返回值:
類型 | 說明 |
---|---|
Promise<WorkInfo> | 指定的Promise回調(diào)方法。如果指定的工作ID有效,則返回從WorkSchedulerService獲取的有效工作狀態(tài);否則拋出異常。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
9700004 | Check workInfo failed. |
示例:
- try{
- workScheduler.getWorkStatus(50).then((res) => {
- for (let item in res) {
- console.info(`workschedulerLog getWorkStatus success, ${item} is: ${res[item]}`);
- }
- }).catch((error) => {
- console.error(`workschedulerLog getWorkStatus failed. code is ${error.code} message is ${error.message}`);
- })
- } catch (error) {
- console.error(`workschedulerLog getWorkStatus failed. code is ${error.code} message is ${error.message}`);
- }
obtainAllWorks(callback : AsyncCallback<void>): Array<WorkInfo>
獲取與當(dāng)前應(yīng)用程序關(guān)聯(lián)的所有工作,使用Callback形式返回。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 指定的callback回調(diào)方法。返回與應(yīng)用程序關(guān)聯(lián)的所有工作。 |
返回值:
類型 | 說明 |
---|---|
Array<WorkInfo> | 返回與應(yīng)用程序關(guān)聯(lián)的所有工作。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
示例:
- try{
- workScheduler.obtainAllWorks((error, res) =>{
- if (error) {
- console.error(`workschedulerLog obtainAllWorks failed. code is ${error.code} message is ${error.message}`);
- } else {
- console.info(`workschedulerLog obtainAllWorks success, data is: ${JSON.stringify(res)}`);
- }
- });
- } catch (error) {
- console.error(`workschedulerLog obtainAllWorks failed. code is ${error.code} message is ${error.message}`);
- }
obtainAllWorks(): Promise<Array<WorkInfo>>
獲取與當(dāng)前應(yīng)用程序關(guān)聯(lián)的所有工作,使用Promise形式返回。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
返回值:
類型 | 說明 |
---|---|
Promise<Array<WorkInfo>> | 指定的Promise回調(diào)方法。返回與應(yīng)用程序關(guān)聯(lián)的所有工作。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
示例:
- try{
- workScheduler.obtainAllWorks().then((res) => {
- console.info(`workschedulerLog obtainAllWorks success, data is: ${JSON.stringify(res)}`);
- }).catch((error) => {
- console.error(`workschedulerLog obtainAllWorks failed. code is ${error.code} message is ${error.message}`);
- })
- } catch (error) {
- console.error(`workschedulerLog obtainAllWorks failed. code is ${error.code} message is ${error.message}`);
- }
stopAndClearWorks(): void
停止和取消與當(dāng)前應(yīng)用程序關(guān)聯(lián)的所有工作。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
示例:
- try{
- workScheduler.stopAndClearWorks();
- console.info(`workschedulerLog stopAndClearWorks success`);
- } catch (error) {
- console.error(`workschedulerLog stopAndClearWorks failed. code is ${error.code} message is ${error.message}`);
- }
isLastWorkTimeOut(workId: number, callback : AsyncCallback<void>): boolean
檢查指定工作的最后一次執(zhí)行是否為超時操作,使用Callback形式返回。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
workId | number | 是 | work的id。 |
callback | AsyncCallback<void> | 是 | 指定的callback回調(diào)方法。如果指定工作的最后一次執(zhí)行是超時操作,則返回true;否則返回false。 |
返回值:
類型 | 說明 |
---|---|
boolean | 指定的callback回調(diào)方法。如果指定工作的最后一次執(zhí)行是超時操作,則返回true;否則返回false。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
9700004 | Check workInfo failed. |
示例:
- try{
- workScheduler.isLastWorkTimeOut(500, (error, res) =>{
- if (error) {
- console.error(`workschedulerLog isLastWorkTimeOut failed. code is ${error.code} message is ${error.message}`);
- } else {
- console.info(`workschedulerLog isLastWorkTimeOut success, data is: ${res}`);
- }
- });
- } catch (error) {
- console.error(`workschedulerLog isLastWorkTimeOut failed. code is ${error.code} message is ${error.message}`);
- }
isLastWorkTimeOut(workId: number): Promise<boolean>
檢查指定工作的最后一次執(zhí)行是否為超時操作,使用Promise形式返回。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
workId | number | 是 | work的id。 |
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 指定的Promise回調(diào)方法。如果指定工作的最后一次執(zhí)行是超時操作,則返回true;否則返回false。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見@ohos.resourceschedule.workScheduler (延遲任務(wù)調(diào)度)錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
9700001 | Memory operation failed. |
9700002 | Parcel operation failed. |
9700003 | System service operation failed. |
9700004 | Check workInfo failed. |
示例:
- try{
- workScheduler.isLastWorkTimeOut(500)
- .then(res => {
- console.info(`workschedulerLog isLastWorkTimeOut success, data is: ${res}`);
- })
- .catch(error => {
- console.error(`workschedulerLog isLastWorkTimeOut failed. code is ${error.code} message is ${error.message}`);
- });
- } catch (error) {
- console.error(`workschedulerLog isLastWorkTimeOut failed. code is ${error.code} message is ${error.message}`);
- }
提供工作的具體信息。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
workId | number | 是 | 當(dāng)前工作的ID |
bundleName | string | 是 | 延遲任務(wù)包名 |
abilityName | string | 是 | 延遲任務(wù)回調(diào)通知的組件名(必填) |
networkType | 否 | 網(wǎng)絡(luò)類型 | |
isCharging | boolean | 否 | 是否充電 |
chargerType | 否 | 充電類型 | |
batteryLevel | number | 否 | 電量 |
batteryStatus | 否 | 電池狀態(tài) | |
storageRequest | 否 | 存儲狀態(tài) | |
isRepeat | boolean | 否 | 是否循環(huán)任務(wù) |
repeatCycleTime | number | 否 | 循環(huán)間隔,單位為毫秒 |
repeatCount | number | 否 | 循環(huán)次數(shù) |
isPersisted | boolean | 否 | 是否持久化保存工作 |
isDeepIdle | boolean | 否 | 是否要求設(shè)備進(jìn)入空閑狀態(tài) |
idleWaitTime | number | 否 | 空閑等待時間,單位為毫秒 |
parameters | [key: string]: number| string|boolean | 否 | 攜帶參數(shù)信息 |
觸發(fā)工作的網(wǎng)絡(luò)類型。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
名稱 | 值 | 說明 |
---|---|---|
NETWORK_TYPE_ANY | 0 | 表示這個觸發(fā)條件是任何類型的網(wǎng)絡(luò)連接。 |
NETWORK_TYPE_MOBILE | 1 | 表示這個觸發(fā)條件是Mobile網(wǎng)絡(luò)連接。 |
NETWORK_TYPE_WIFI | 2 | 表示這個觸發(fā)條件是Wifi類型的網(wǎng)絡(luò)連接。 |
觸發(fā)工作的充電類型。
系統(tǒng)能力:SystemCapability.ResourceSchedule.WorkScheduler
名稱 | 值 | 說明 |
---|---|---|
CHARGING_PLUGGED_ANY | 0 | 表示這個觸發(fā)條件是任何類型的充電器連接。 |
CHARGING_PLUGGED_AC | 1 | 表示這個觸發(fā)條件是直流充電器連接。 |
CHARGING_PLUGGED_USB | 2 | 表示這個觸發(fā)條件是USB充連接。 |
CHARGING_PLUGGED_WIRELESS | 3 | 表示這個觸發(fā)條件是無線充電器連接。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: