未验证 提交 93866feb 编写于 作者: O openharmony_ci 提交者: Gitee

!22964 arkts告警修复

Merge pull request !22964 from 朱天怡/master
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
## 导入模块 ## 导入模块
```ts ```ts
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility' import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
import workScheduler from '@ohos.resourceschedule.workScheduler';
``` ```
## 属性 ## 属性
...@@ -40,7 +41,7 @@ onWorkStart(work: workScheduler.WorkInfo): void ...@@ -40,7 +41,7 @@ onWorkStart(work: workScheduler.WorkInfo): void
```ts ```ts
export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility { export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
onWorkStart(workInfo) { onWorkStart(workInfo: workScheduler.WorkInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo)); console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
} }
} }
...@@ -65,7 +66,7 @@ onWorkStop(work: workScheduler.WorkInfo): void ...@@ -65,7 +66,7 @@ onWorkStop(work: workScheduler.WorkInfo): void
```ts ```ts
export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility { export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
onWorkStop(workInfo) { onWorkStop(workInfo: workScheduler.WorkInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo)); console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
} }
} }
......
...@@ -115,14 +115,14 @@ getRemainingDelayTime(requestId: number): Promise<number> ...@@ -115,14 +115,14 @@ getRemainingDelayTime(requestId: number): Promise<number>
**示例** **示例**
```js ```js
let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {}); let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {});
backgroundTaskManager.getRemainingDelayTime(delayInfo.requestId).then( res => { backgroundTaskManager.getRemainingDelayTime(delayInfo.requestId).then((res:number) => {
console.log('promise => Operation getRemainingDelayTime succeeded. Data: ' + JSON.stringify(res)); console.log('promise => Operation getRemainingDelayTime succeeded. Data: ' + JSON.stringify(res));
}).catch( err => { }).catch((err : BusinessError) => {
console.log('promise => Operation getRemainingDelayTime failed. Cause: ' + err.code); console.log('promise => Operation getRemainingDelayTime failed. Cause: ' + err.code);
}) })
``` ```
## backgroundTaskManager.cancelSuspendDelay ## backgroundTaskManager.cancelSuspendDelay
...@@ -173,9 +173,10 @@ FA模型示例: ...@@ -173,9 +173,10 @@ FA模型示例:
```js ```js
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.app.ability.wantAgent'; import wantAgent, { WantAgent } from '@ohos.app.ability.wantAgent';
import { BusinessError } from '@ohos.base';
function callback(err, data) { function callback(err: BusinessError, data: void) {
if (err) { if (err) {
console.error("Operation startBackgroundRunning failed Cause: " + err); console.error("Operation startBackgroundRunning failed Cause: " + err);
} else { } else {
...@@ -183,7 +184,7 @@ function callback(err, data) { ...@@ -183,7 +184,7 @@ function callback(err, data) {
} }
} }
let wantAgentInfo = { let wantAgentInfo : wantAgent.WantAgentInfo = {
wants: [ wants: [
{ {
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
...@@ -195,7 +196,7 @@ let wantAgentInfo = { ...@@ -195,7 +196,7 @@ let wantAgentInfo = {
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}; };
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj : WantAgent) => {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(), backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback) backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback)
}); });
...@@ -207,9 +208,10 @@ Stage模型示例: ...@@ -207,9 +208,10 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import wantAgent from '@ohos.app.ability.wantAgent'; import wantAgent, { WantAgent } from '@ohos.app.ability.wantAgent';
import { BusinessError } from '@ohos.base';
function callback(err, data) { function callback(err: BusinessError, data: void) {
if (err) { if (err) {
console.error("Operation startBackgroundRunning failed Cause: " + err); console.error("Operation startBackgroundRunning failed Cause: " + err);
} else { } else {
...@@ -218,8 +220,8 @@ function callback(err, data) { ...@@ -218,8 +220,8 @@ function callback(err, data) {
} }
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
let wantAgentInfo = { let wantAgentInfo : wantAgent.WantAgentInfo = {
wants: [ wants: [
{ {
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
...@@ -231,7 +233,7 @@ export default class EntryAbility extends UIAbility { ...@@ -231,7 +233,7 @@ export default class EntryAbility extends UIAbility {
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}; };
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj : WantAgent) => {
backgroundTaskManager.startBackgroundRunning(this.context, backgroundTaskManager.startBackgroundRunning(this.context,
backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback) backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback)
}); });
...@@ -270,9 +272,10 @@ FA模型示例: ...@@ -270,9 +272,10 @@ FA模型示例:
```js ```js
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.app.ability.wantAgent'; import wantAgent, { WantAgent } from '@ohos.app.ability.wantAgent';
import { BusinessError } from '@ohos.base';
let wantAgentInfo = { let wantAgentInfo : wantAgent.WantAgentInfo = {
wants: [ wants: [
{ {
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
...@@ -284,11 +287,11 @@ let wantAgentInfo = { ...@@ -284,11 +287,11 @@ let wantAgentInfo = {
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}; };
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(), backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => { backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => {
console.info("Operation startBackgroundRunning succeeded"); console.info("Operation startBackgroundRunning succeeded");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Operation startBackgroundRunning failed Cause: " + err); console.error("Operation startBackgroundRunning failed Cause: " + err);
}); });
}); });
...@@ -299,11 +302,12 @@ Stage模型示例: ...@@ -299,11 +302,12 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import wantAgent from '@ohos.app.ability.wantAgent'; import wantAgent, { WantAgent } from '@ohos.app.ability.wantAgent';
import { BusinessError } from '@ohos.base';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
let wantAgentInfo = { let wantAgentInfo : wantAgent.WantAgentInfo = {
wants: [ wants: [
{ {
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
...@@ -315,11 +319,11 @@ export default class EntryAbility extends UIAbility { ...@@ -315,11 +319,11 @@ export default class EntryAbility extends UIAbility {
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}; };
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj : WantAgent) => {
backgroundTaskManager.startBackgroundRunning(this.context, backgroundTaskManager.startBackgroundRunning(this.context,
backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => { backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => {
console.info("Operation startBackgroundRunning succeeded"); console.info("Operation startBackgroundRunning succeeded");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Operation startBackgroundRunning failed Cause: " + err); console.error("Operation startBackgroundRunning failed Cause: " + err);
}); });
}); });
...@@ -349,8 +353,9 @@ FA模型示例: ...@@ -349,8 +353,9 @@ FA模型示例:
```js ```js
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
function callback(err, data) { function callback(err: BusinessError, data: void) {
if (err) { if (err) {
console.error("Operation stopBackgroundRunning failed Cause: " + err); console.error("Operation stopBackgroundRunning failed Cause: " + err);
} else { } else {
...@@ -367,8 +372,9 @@ Stage模型示例: ...@@ -367,8 +372,9 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import { BusinessError } from '@ohos.base';
function callback(err, data) { function callback(err: BusinessError, data: void) {
if (err) { if (err) {
console.error("Operation stopBackgroundRunning failed Cause: " + err); console.error("Operation stopBackgroundRunning failed Cause: " + err);
} else { } else {
...@@ -377,7 +383,7 @@ function callback(err, data) { ...@@ -377,7 +383,7 @@ function callback(err, data) {
} }
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
backgroundTaskManager.stopBackgroundRunning(this.context, callback); backgroundTaskManager.stopBackgroundRunning(this.context, callback);
} }
}; };
...@@ -410,10 +416,11 @@ FA模型示例: ...@@ -410,10 +416,11 @@ FA模型示例:
```js ```js
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => { backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
console.info("Operation stopBackgroundRunning succeeded"); console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Operation stopBackgroundRunning failed Cause: " + err); console.error("Operation stopBackgroundRunning failed Cause: " + err);
}); });
...@@ -424,12 +431,13 @@ Stage模型示例: ...@@ -424,12 +431,13 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import { BusinessError } from '@ohos.base';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
backgroundTaskManager.stopBackgroundRunning(this.context).then(() => { backgroundTaskManager.stopBackgroundRunning(this.context).then(() => {
console.info("Operation stopBackgroundRunning succeeded"); console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Operation stopBackgroundRunning failed Cause: " + err); console.error("Operation stopBackgroundRunning failed Cause: " + err);
}); });
} }
......
...@@ -15,9 +15,10 @@ WorkSchedulerExtensionContext可直接作为WorkSchedulerExtension的上下文 ...@@ -15,9 +15,10 @@ WorkSchedulerExtensionContext可直接作为WorkSchedulerExtension的上下文
```ts ```ts
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility'; import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
import workScheduler from '@ohos.resourceschedule.workScheduler';
class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility { class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
onWorkStart(workInfo) { onWorkStart(workInfo: workScheduler.WorkInfo) {
let WorkSchedulerExtensionContext = this.context; // 获取WorkSchedulerExtensionContext let WorkSchedulerExtensionContext = this.context; // 获取WorkSchedulerExtensionContext
} }
} }
......
...@@ -82,7 +82,8 @@ ...@@ -82,7 +82,8 @@
```ts ```ts
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import wantAgent from '@ohos.app.ability.wantAgent'; import wantAgent, { WantAgent } from '@ohos.app.ability.wantAgent';
import { BusinessError } from '@ohos.base';
``` ```
4. 申请和取消长时任务。 4. 申请和取消长时任务。
...@@ -99,10 +100,10 @@ ...@@ -99,10 +100,10 @@
struct Index { struct Index {
@State message: string = 'ContinuousTask'; @State message: string = 'ContinuousTask';
// 通过getContext方法,来获取page所在的UIAbility上下文。 // 通过getContext方法,来获取page所在的UIAbility上下文。
private context = getContext(this); private context: Context = getContext(this);
startContinuousTask() { startContinuousTask() {
let wantAgentInfo = { let wantAgentInfo: wantAgent.wantAgentInfo = {
// 点击通知后,将要执行的动作列表 // 点击通知后,将要执行的动作列表
wants: [ wants: [
{ {
...@@ -119,30 +120,22 @@ ...@@ -119,30 +120,22 @@
}; };
// 通过wantAgent模块下getWantAgent方法获取WantAgent对象 // 通过wantAgent模块下getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => {
try {
backgroundTaskManager.startBackgroundRunning(this.context, backgroundTaskManager.startBackgroundRunning(this.context,
backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => { backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => {
console.info(`Succeeded in operationing startBackgroundRunning.`); console.info(`Succeeded in operationing startBackgroundRunning.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`); console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}); });
} catch (error) {
console.error(`Failed to start background running. Code is ${error.code} message is ${error.message}`);
}
}); });
} }
stopContinuousTask() { stopContinuousTask() {
try {
backgroundTaskManager.stopBackgroundRunning(this.context).then(() => { backgroundTaskManager.stopBackgroundRunning(this.context).then(() => {
console.info(`Succeeded in operationing stopBackgroundRunning.`); console.info(`Succeeded in operationing stopBackgroundRunning.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`); console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}); });
} catch (error) {
console.error(`Failed to stop background running. Code is ${error.code} message is ${error.message}`);
}
} }
build() { build() {
...@@ -193,13 +186,17 @@ ...@@ -193,13 +186,17 @@
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';
import rpc from '@ohos.rpc';
const MSG_SEND_METHOD: string = 'CallSendMsg' const MSG_SEND_METHOD: string = 'CallSendMsg'
let mContext = null; let mContext: Context;
function startContinuousTask() { function startContinuousTask() {
let wantAgentInfo = { let wantAgentInfo : wantAgent.WantAgentInfo = {
// 点击通知后,将要执行的动作列表 // 点击通知后,将要执行的动作列表
wants: [ wants: [
{ {
...@@ -216,62 +213,54 @@ ...@@ -216,62 +213,54 @@
}; };
// 通过wantAgent模块的getWantAgent方法获取WantAgent对象 // 通过wantAgent模块的getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj : WantAgent) => {
try {
backgroundTaskManager.startBackgroundRunning(mContext, backgroundTaskManager.startBackgroundRunning(mContext,
backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => { backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => {
console.info(`Succeeded in operationing startBackgroundRunning.`); console.info(`Succeeded in operationing startBackgroundRunning.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`); console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}); });
} catch (err) {
console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}
}); });
} }
function stopContinuousTask() { function stopContinuousTask() {
try {
backgroundTaskManager.stopBackgroundRunning(mContext).then(() => { backgroundTaskManager.stopBackgroundRunning(mContext).then(() => {
console.info(`Succeeded in operationing stopBackgroundRunning.`); console.info(`Succeeded in operationing stopBackgroundRunning.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`); console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}); });
} catch (err) {
console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}
} }
class MyParcelable { class MyParcelable {
num: number = 0; num: number = 0;
str: String = ''; str: String = '';
constructor(num, string) { constructor(num: number, string: string) {
this.num = num; this.num = num;
this.str = string; this.str = string;
} }
marshalling(messageSequence) { marshalling(messageSequence: rpc.MessageSequence) {
messageSequence.writeInt(this.num); messageSequence.writeInt(this.num);
messageSequence.writeString(this.str); messageSequence.writeString(this.str);
return true; return true;
} }
unmarshalling(messageSequence) { unmarshalling(messageSequence: rpc.MessageSequence) {
this.num = messageSequence.readInt(); this.num = messageSequence.readInt();
this.str = messageSequence.readString(); this.str = messageSequence.readString();
return true; return true;
} }
} }
function sendMsgCallback(data) { function sendMsgCallback(data: rpc.MessageSequence) {
console.info('BgTaskAbility funcCallBack is called ' + data) console.info('BgTaskAbility funcCallBack is called ' + data);
let receivedData = new MyParcelable(0, '') let receivedData = new MyParcelable(0, '');
data.readParcelable(receivedData) data.readParcelable(receivedData);
console.info(`receiveData[${receivedData.num}, ${receivedData.str}]`) console.info(`receiveData[${receivedData.num}, ${receivedData.str}]`);
// 可以根据Caller端发送的序列化数据的str值,执行不同的方法。 // 可以根据Caller端发送的序列化数据的str值,执行不同的方法。
if (receivedData.str === 'start_bgtask') { if (receivedData.str === 'start_bgtask') {
startContinuousTask() startContinuousTask();
} else if (receivedData.str === 'stop_bgtask') { } else if (receivedData.str === 'stop_bgtask') {
stopContinuousTask(); stopContinuousTask();
} }
...@@ -279,42 +268,44 @@ ...@@ -279,42 +268,44 @@
} }
export default class BgTaskAbility extends UIAbility { export default class BgTaskAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
console.info("[Demo] BgTaskAbility onCreate") console.info("[Demo] BgTaskAbility onCreate");
this.callee.on('test', sendMsgCallback); this.callee.on('test', sendMsgCallback);
try { try {
this.callee.on(MSG_SEND_METHOD, sendMsgCallback) this.callee.on(MSG_SEND_METHOD, sendMsgCallback)
} catch (error) { } catch (error) {
console.error(`${MSG_SEND_METHOD} register failed with error ${JSON.stringify(error)}`) console.error(`${MSG_SEND_METHOD} register failed with error ${JSON.stringify(error)}`);
} }
mContext = this.context; mContext = this.context;
} }
onDestroy() { onDestroy() {
console.info('[Demo] BgTaskAbility onDestroy') console.info('[Demo] BgTaskAbility onDestroy');
} }
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
console.info('[Demo] BgTaskAbility onWindowStageCreate') console.info('[Demo] BgTaskAbility onWindowStageCreate');
windowStage.loadContent("pages/index").then((data) => { windowStage.loadContent('pages/Index', (error, data) => {
console.info(`load content succeed with data ${JSON.stringify(data)}`) if (error.code) {
}).catch((error) => { console.error(`load content failed with error ${JSON.stringify(error)}`);
console.error(`load content failed with error ${JSON.stringify(error)}`) return;
}) }
console.info(`load content succeed with data ${JSON.stringify(data)}`);
});
} }
onWindowStageDestroy() { onWindowStageDestroy() {
console.info('[Demo] BgTaskAbility onWindowStageDestroy') console.info('[Demo] BgTaskAbility onWindowStageDestroy');
} }
onForeground() { onForeground() {
console.info('[Demo] BgTaskAbility onForeground') console.info('[Demo] BgTaskAbility onForeground');
} }
onBackground() { onBackground() {
console.info('[Demo] BgTaskAbility onBackground') console.info('[Demo] BgTaskAbility onBackground');
} }
}; };
``` ```
...@@ -357,15 +348,16 @@ ...@@ -357,15 +348,16 @@
```js ```js
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.app.ability.wantAgent'; import wantAgent, { WantAgent } from '@ohos.app.ability.wantAgent';
import rpc from "@ohos.rpc"; import rpc from "@ohos.rpc";
import { BusinessError } from '@ohos.base';
``` ```
4. 申请和取消长时任务。在 ServiceAbility 中,调用 startBackgroundRunning() 接口和 startBackgroundRunning() 接口实现长时任务的申请和取消。 4. 申请和取消长时任务。在 ServiceAbility 中,调用 startBackgroundRunning() 接口和 startBackgroundRunning() 接口实现长时任务的申请和取消。
```js ```js
function startContinuousTask() { function startContinuousTask() {
let wantAgentInfo = { let wantAgentInfo: wantAgent.WantAgentInfo = {
// 点击通知后,将要执行的动作列表 // 点击通知后,将要执行的动作列表
wants: [ wants: [
{ {
...@@ -382,30 +374,22 @@ ...@@ -382,30 +374,22 @@
}; };
// 通过wantAgent模块的getWantAgent方法获取WantAgent对象 // 通过wantAgent模块的getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => {
try {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(), backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => { backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => {
console.info(`Succeeded in operationing startBackgroundRunning.`); console.info(`Succeeded in operationing startBackgroundRunning.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`); console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}); });
} catch (error) {
console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}
}); });
} }
function stopContinuousTask() { function stopContinuousTask() {
try {
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => { backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
console.info(`Succeeded in operationing stopBackgroundRunning.`); console.info(`Succeeded in operationing stopBackgroundRunning.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`); console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}); });
} catch (error) {
console.error(`Failed to operation stopBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
}
} }
async function processAsyncJobs() { async function processAsyncJobs() {
...@@ -415,7 +399,7 @@ ...@@ -415,7 +399,7 @@
stopContinuousTask(); stopContinuousTask();
} }
let mMyStub; let mMyStub: MyStub;
class MyStub extends rpc.RemoteObject { class MyStub extends rpc.RemoteObject {
constructor(des) { constructor(des) {
......
...@@ -121,6 +121,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则: ...@@ -121,6 +121,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则:
```ts ```ts
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility'; import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
import workScheduler fron '@ohos.resourceschedule.workScheduler';
``` ```
3. 实现WorkSchedulerExtension生命周期接口。 3. 实现WorkSchedulerExtension生命周期接口。
...@@ -128,12 +129,12 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则: ...@@ -128,12 +129,12 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则:
```ts ```ts
export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility { export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
// 延迟任务开始回调 // 延迟任务开始回调
onWorkStart(workInfo) { onWorkStart(workInfo: workScheduler.WorkInfo) {
console.info(`onWorkStart, workInfo = ${JSON.stringify(workInfo)}`); console.info(`onWorkStart, workInfo = ${JSON.stringify(workInfo)}`);
} }
// 延迟任务结束回调 // 延迟任务结束回调
onWorkStop(workInfo) { onWorkStop(workInfo: workScheduler.WorkInfo) {
console.info(`onWorkStop, workInfo is ${JSON.stringify(workInfo)}`); console.info(`onWorkStop, workInfo is ${JSON.stringify(workInfo)}`);
} }
} }
...@@ -173,7 +174,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则: ...@@ -173,7 +174,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则:
2. 申请延迟任务。 2. 申请延迟任务。
```ts ```ts
private workInfo = { private workInfo: workScheduler.WorkInfo = {
workId: 1, workId: 1,
networkType: workScheduler.NetworkType.NETWORK_TYPE_WIFI, networkType: workScheduler.NetworkType.NETWORK_TYPE_WIFI,
bundleName: 'com.example.application', bundleName: 'com.example.application',
...@@ -183,7 +184,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则: ...@@ -183,7 +184,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则:
try { try {
workScheduler.startWork(this.workInfo); workScheduler.startWork(this.workInfo);
console.info(`startWork success`); console.info(`startWork success`);
} catch (error) { } catch (error: BusinessError) {
console.error(`startWork failed. code is ${error.code} message is ${error.message}`); console.error(`startWork failed. code is ${error.code} message is ${error.message}`);
} }
``` ```
...@@ -191,7 +192,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则: ...@@ -191,7 +192,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则:
3. 取消延迟任务。 3. 取消延迟任务。
```ts ```ts
private workInfo = { private workInfo: workScheduler.workInfo = {
workId: 1, workId: 1,
networkType: workScheduler.NetworkType.NETWORK_TYPE_WIFI, networkType: workScheduler.NetworkType.NETWORK_TYPE_WIFI,
bundleName: 'com.example.application', bundleName: 'com.example.application',
...@@ -201,7 +202,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则: ...@@ -201,7 +202,7 @@ WorkInfo参数用于设置应用条件,参数设置时需遵循以下规则:
try { try {
workScheduler.stopWork(this.workInfo); workScheduler.stopWork(this.workInfo);
console.info(`stopWork success`); console.info(`stopWork success`);
} catch (error) { } catch (error: BusinessError) {
console.error(`stopWork failed. code is ${error.code} message is ${error.message}`); console.error(`stopWork failed. code is ${error.code} message is ${error.message}`);
} }
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册