js-apis-ability-context.md 14.6 KB
Newer Older
1 2
# AbilityContext

Y
yuyaozhi 已提交
3 4 5 6
AbilityContext是Ability的上下文环境,继承自Context。

AbilityContext模块提供允许访问特定于ability的资源的能力,包括对Ability的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。

Y
yuyaozhi 已提交
7 8
> **说明:**
> 
9 10
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。   
> 本模块接口仅可在Stage模型下使用。
11

12
## 导入模块
13

14
```js
Y
yuyaozhi 已提交
15
import Ability from '@ohos.application.Ability'
16
```
ahjxliubao2's avatar
ahjxliubao2 已提交
17 18
## 使用说明

R
RayShih 已提交
19 20
在使用AbilityContext的功能前,需要通过Ability子类实例获取。

Y
yuyaozhi 已提交
21
```js
ahjxliubao2's avatar
ahjxliubao2 已提交
22 23 24 25 26 27 28 29 30
import Ability from '@ohos.application.Ability'
class MainAbility extends Ability {
    onWindowStageCreate(windowStage) {
        let context = this.context;
    }
}
```


31 32
## 属性

33 34
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

G
guyuanzhang 已提交
35
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
36
| -------- | -------- | -------- | -------- | -------- |
G
guyuanzhang 已提交
37 38
| abilityInfo | AbilityInfo | 是 | 否 | Abilityinfo相关信息 |
| currentHapModuleInfo | HapModuleInfo | 是 | 否 | 当前hap包的信息 |
39 40


Y
yuyaozhi 已提交
41
## AbilityContext.startAbility
42 43 44 45 46

startAbility(want: Want, callback: AsyncCallback<void>): void

启动Ability。

Y
yuyaozhi 已提交
47
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
48

Y
yuyaozhi 已提交
49
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
50

G
guyuanzhang 已提交
51 52 53 54
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | 启动Ability的want信息。 |
| callback | AsyncCallback<void> | 是 | callback形式返回启动结果 |
55

Y
yuyaozhi 已提交
56 57 58
**示例:**

  ```js
59 60 61
  var want = {
  	"deviceId": "",
  	"bundleName": "com.extreme.test",
Y
yuyaozhi 已提交
62
  	"abilityName": "MainAbility"
63 64 65 66 67 68 69
  };
  this.context.startAbility(want, (error) => {
      console.log("error.code = " + error.code)
  })
  ```


Y
yuyaozhi 已提交
70
## AbilityContext.startAbility
71

ahjxliubao2's avatar
ahjxliubao2 已提交
72 73 74 75
startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>): void

启动Ability。

Y
yuyaozhi 已提交
76
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
77

Y
yuyaozhi 已提交
78
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
79

G
guyuanzhang 已提交
80 81 82
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | 启动Ability的want信息。 |
X
xuzhihao 已提交
83
| options | [StartOptions](js-apis-application-StartOptions.md) | 是 | 启动Ability所携带的参数。 |
G
guyuanzhang 已提交
84
| callback | AsyncCallback<void> | 是 | callback形式返回启动结果。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
85

Y
yuyaozhi 已提交
86
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
87
    
Y
yuyaozhi 已提交
88
  ```js
ahjxliubao2's avatar
ahjxliubao2 已提交
89 90 91
  var want = {
  	"deviceId": "",
  	"bundleName": "com.extreme.test",
Y
yuyaozhi 已提交
92
  	"abilityName": "MainAbility"
ahjxliubao2's avatar
ahjxliubao2 已提交
93 94 95 96 97 98 99 100 101 102
  };
  var options = {
  	windowMode: 0,
  };
  this.context.startAbility(want, options, (error) => {
      console.log("error.code = " + error.code)
  })
  ```


Y
yuyaozhi 已提交
103
## AbilityContext.startAbility
ahjxliubao2's avatar
ahjxliubao2 已提交
104

Y
yuyaozhi 已提交
105
startAbility(want: Want, options?: StartOptions): Promise<void>;
106

107
启动Ability。通过Promise返回结果。
108

Y
yuyaozhi 已提交
109
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
110

Y
yuyaozhi 已提交
111
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
112

G
guyuanzhang 已提交
113 114 115
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | 启动Ability的want信息。 |
X
xuzhihao 已提交
116
| options | [StartOptions](js-apis-application-StartOptions.md) | 否 | 启动Ability所携带的参数。 |
117

Y
yuyaozhi 已提交
118 119
**返回值:**

G
guyuanzhang 已提交
120 121 122
| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | Promise形式返回启动结果。 |
123

Y
yuyaozhi 已提交
124 125 126
**示例:**

  ```js
127 128 129
  var want = {
  	"deviceId": "",
  	"bundleName": "com.extreme.test",
Y
yuyaozhi 已提交
130
  	"abilityName": "MainAbility"
131
  };
ahjxliubao2's avatar
ahjxliubao2 已提交
132 133 134 135
  var options = {
  	windowMode: 0,
  };
  this.context.startAbility(want, options)
136 137 138 139 140 141 142 143
  .then((data) => {
      console.log('Operation successful.')
  }).catch((error) => {
      console.log('Operation failed.');
  })
  ```


Y
yuyaozhi 已提交
144
## AbilityContext.startAbilityForResult
145

146
startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): void;
147 148 149

启动Ability并在结束的时候返回执行结果。

Y
yuyaozhi 已提交
150
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
151

Y
yuyaozhi 已提交
152
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
153

G
guyuanzhang 已提交
154 155 156 157
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want |[Want](js-apis-application-Want.md) | 是 | 启动Ability的want信息。 |
| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | 是 | 执行结果回调函数。 |
158

159

Y
yuyaozhi 已提交
160 161 162
**示例:**

  ```js
163
  this.context.startAbilityForResult(
Q
ql 已提交
164
      {deviceId: "", bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"},
165 166 167 168 169 170 171
      (error, result) => {
          console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code)
          console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode)
       }
  );
  ```

Y
yuyaozhi 已提交
172
## AbilityContext.startAbilityForResult
ahjxliubao2's avatar
ahjxliubao2 已提交
173 174 175 176 177

startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>): void;

启动Ability并在结束的时候返回执行结果。

Y
yuyaozhi 已提交
178
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
179

Y
yuyaozhi 已提交
180
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
181

G
guyuanzhang 已提交
182 183 184
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want |[Want](js-apis-application-Want.md) | 是 | 启动Ability的want信息。 |
X
xuzhihao 已提交
185
| options | [StartOptions](js-apis-application-StartOptions.md) | 是 | 启动Ability所携带的参数。 |
G
guyuanzhang 已提交
186
| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | 是 | 执行结果回调函数。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
187 188


Y
yuyaozhi 已提交
189 190 191
**示例:**

  ```js
ahjxliubao2's avatar
ahjxliubao2 已提交
192 193 194 195
  var options = {
    windowMode: 0,
  };
  this.context.startAbilityForResult(
Q
ql 已提交
196
      {deviceId: "", bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, options,
ahjxliubao2's avatar
ahjxliubao2 已提交
197 198 199 200 201 202 203
      (error, result) => {
          console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code)
          console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode)
       }
  );
  ```

204

Y
yuyaozhi 已提交
205
## AbilityContext.startAbilityForResult
206

Y
yuyaozhi 已提交
207
startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityResult>;
208 209 210

启动Ability并在结束的时候返回执行结果。

Y
yuyaozhi 已提交
211
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
212

Y
yuyaozhi 已提交
213
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
214

G
guyuanzhang 已提交
215 216 217
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | 启动Ability的want信息。 |
X
xuzhihao 已提交
218
| options | [StartOptions](js-apis-application-StartOptions.md) | 否 | 启动Ability所携带的参数。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
219

220

Y
yuyaozhi 已提交
221 222
**返回值:**

G
guyuanzhang 已提交
223 224 225
| 类型 | 说明 |
| -------- | -------- |
| Promise<[AbilityResult](js-apis-featureAbility.md#abilityresult)> | Promise形式返回执行结果。 |
226

Y
yuyaozhi 已提交
227 228 229
**示例:**

  ```js
ahjxliubao2's avatar
ahjxliubao2 已提交
230 231 232
  var options = {
    windowMode: 0,
  };
Q
ql 已提交
233
  this.context.startAbilityForResult({deviceId: "", bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, options).then((result) => {
234 235 236 237 238 239 240
      console.log("startAbilityForResult Promise.resolve is called, result.resultCode = " + result.resultCode)
  }, (error) => {
      console.log("startAbilityForResult Promise.Reject is called, error.code = " + error.code)
  })
  ```


Y
yuyaozhi 已提交
241
## AbilityContext.terminateSelf
242

243
terminateSelf(callback: AsyncCallback<void>): void;
244

245
停止Ability自身。
246

Y
yuyaozhi 已提交
247
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
248

Y
yuyaozhi 已提交
249
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
250

G
guyuanzhang 已提交
251 252 253
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback<void> | 是 | 回调函数,返回接口调用是否成功的结果。 |
254

Y
yuyaozhi 已提交
255 256 257
**示例:**

  ```js
258
  this.context.terminateSelf((err) => {
R
RayShih 已提交
259
      console.log('terminateSelf result:' + JSON.stringify(err));
ahjxliubao2's avatar
ahjxliubao2 已提交
260
  });
261 262 263
  ```


Y
yuyaozhi 已提交
264
## AbilityContext.terminateSelf
265

266
terminateSelf(): Promise<void>;
267

268
停止Ability自身。通过Promise返回结果。
269

Y
yuyaozhi 已提交
270
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
271

Y
yuyaozhi 已提交
272
**返回值:**
ahjxliubao2's avatar
ahjxliubao2 已提交
273

G
guyuanzhang 已提交
274 275 276
| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 返回一个Promise,包含接口的结果。 |
277

Y
yuyaozhi 已提交
278 279 280
**示例:**

  ```js
281
  this.context.terminateSelf(want).then((data) => {
R
RayShih 已提交
282
      console.log('success:' + JSON.stringify(data));
ahjxliubao2's avatar
ahjxliubao2 已提交
283
  }).catch((error) => {
R
RayShih 已提交
284
      console.log('failed:' + JSON.stringify(error));
285 286 287 288
  });
  ```


Y
yuyaozhi 已提交
289
## AbilityContext.terminateSelfWithResult
290

291
terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void;
292

293
停止Ability,并返回给调用startAbilityForResult 接口调用方的相关信息。
294

Y
yuyaozhi 已提交
295
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
296

Y
yuyaozhi 已提交
297
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
298

G
guyuanzhang 已提交
299 300 301 302
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| parameter | [AbilityResult](js-apis-featureAbility.md#abilityresult) | 是 | 返回给调用startAbilityForResult 接口调用方的相关信息。 |
| callback | AsyncCallback<void> | 是 | callback形式返回停止结果。 |
303

Y
yuyaozhi 已提交
304 305 306
**示例:**

  ```js
307 308 309 310 311 312 313 314 315 316 317
  this.context.terminateSelfWithResult(
     {
          want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"},
          resultCode: 100
      }, (error) => {
          console.log("terminateSelfWithResult is called = " + error.code)
      }
  );
  ```


Y
yuyaozhi 已提交
318
## AbilityContext.terminateSelfWithResult
319

320
terminateSelfWithResult(parameter: AbilityResult): Promise<void>;
321

322
停止Ability,并返回给调用startAbilityForResult 接口相关信息。
323

Y
yuyaozhi 已提交
324
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
325

Y
yuyaozhi 已提交
326
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
327

G
guyuanzhang 已提交
328 329 330
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| parameter | [AbilityResult](js-apis-featureAbility.md#abilityresult) | 是 | 返回给startAbilityForResult 调用方的信息。 |
331

Y
yuyaozhi 已提交
332 333
**返回值:**

G
guyuanzhang 已提交
334 335 336
| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | promise形式返回停止结果。 |
337

Y
yuyaozhi 已提交
338 339 340
**示例:**

  ```js
341 342 343 344 345 346 347 348 349
  this.context.terminateSelfWithResult(
  {
      want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"},
      resultCode: 100
  }).then((result) => {
      console.log("terminateSelfWithResult")
  }
  )
  ```
ahjxliubao2's avatar
ahjxliubao2 已提交
350 351


Y
yuyaozhi 已提交
352
## AbilityContext.startAbilityByCall
ahjxliubao2's avatar
ahjxliubao2 已提交
353 354 355 356 357

startAbilityByCall(want: Want): Promise<Caller>;

获取指定通用组件服务端的caller通信接口, 并且将指定通用组件服务端拉起并切换到后台。

Y
yuyaozhi 已提交
358
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
359

Y
yuyaozhi 已提交
360
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
361

G
guyuanzhang 已提交
362 363 364
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | 传入需要启动的ability的信息,包含ability名称、包名、设备ID,设备ID缺省或为空表示启动本地ability。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
365

Y
yuyaozhi 已提交
366 367
**返回值:**

G
guyuanzhang 已提交
368 369 370
| 类型 | 说明 |
| -------- | -------- |
| Promise<Caller> | 获取要通讯的caller对象。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
371

Y
yuyaozhi 已提交
372
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
373
    
Y
yuyaozhi 已提交
374
  ```js
ahjxliubao2's avatar
ahjxliubao2 已提交
375 376 377 378 379 380
  import Ability from '@ohos.application.Ability';
  var caller;
  export default class MainAbility extends Ability {
      onWindowStageCreate(windowStage) {
          this.context.startAbilityByCall({
              bundleName: "com.example.myservice",
Y
yuyaozhi 已提交
381
              abilityName: "MainAbility",
ahjxliubao2's avatar
ahjxliubao2 已提交
382 383 384
              deviceId: ""
          }).then((obj) => {
              caller = obj;
Y
yuyaozhi 已提交
385
              console.log('Caller GetCaller Get ' + caller);
ahjxliubao2's avatar
ahjxliubao2 已提交
386 387 388 389 390 391 392 393
          }).catch((e) => {
              console.log('Caller GetCaller error ' + e);
          });
      }
  }
  ```


Y
yuyaozhi 已提交
394
## AbilityContext.requestPermissionsFromUser
ahjxliubao2's avatar
ahjxliubao2 已提交
395 396 397 398 399

requestPermissionsFromUser(permissions: Array<string>, requestCallback: AsyncCallback<PermissionRequestResult>) : void;

拉起弹窗请求用户授权。

Y
yuyaozhi 已提交
400
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
401

Y
yuyaozhi 已提交
402
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
403

G
guyuanzhang 已提交
404 405 406 407
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| permissions | Array<string> | 是 | 权限列表。 |
| callback | AsyncCallback<[PermissionRequestResult](js-apis-permissionrequestresult.md)> | 是 | 回调函数,返回接口调用是否成功的结果。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
408

Y
yuyaozhi 已提交
409
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
410
    
Y
yuyaozhi 已提交
411 412 413 414
  ```js
       var permissions=['com.example.permission']
       this.context.requestPermissionsFromUser(permissions,(result) => {
       console.log('requestPermissionsFromUserresult:' + JSON.stringify(result));
ahjxliubao2's avatar
ahjxliubao2 已提交
415
  });
Y
yuyaozhi 已提交
416
  
ahjxliubao2's avatar
ahjxliubao2 已提交
417 418 419
  ```


Y
yuyaozhi 已提交
420
## AbilityContext.requestPermissionsFromUser
ahjxliubao2's avatar
ahjxliubao2 已提交
421 422 423 424 425

requestPermissionsFromUser(permissions: Array<string>) : Promise<PermissionRequestResult>;

拉起弹窗请求用户授权。通过Promise返回结果。

Y
yuyaozhi 已提交
426
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
427

Y
yuyaozhi 已提交
428
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
429

G
guyuanzhang 已提交
430 431 432
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| permissions | Array<string> | 是 | 权限列表。 |
Y
yuyaozhi 已提交
433 434

**返回值:**
ahjxliubao2's avatar
ahjxliubao2 已提交
435

G
guyuanzhang 已提交
436 437 438
| 类型 | 说明 |
| -------- | -------- |
| Promise<[PermissionRequestResult](js-apis-permissionrequestresult.md)> | 返回一个Promise,包含接口的结果。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
439

Y
yuyaozhi 已提交
440
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
441
    
Y
yuyaozhi 已提交
442 443 444
  ```js
   var permissions=['com.example.permission']
       this.context.requestPermissionsFromUser(permissions).then((data) => {
R
RayShih 已提交
445
      console.log('success:' + JSON.stringify(data));
ahjxliubao2's avatar
ahjxliubao2 已提交
446
  }).catch((error) => {
R
RayShih 已提交
447
      console.log('failed:' + JSON.stringify(error));
ahjxliubao2's avatar
ahjxliubao2 已提交
448
  });
Y
yuyaozhi 已提交
449

ahjxliubao2's avatar
ahjxliubao2 已提交
450 451 452
  ```


Y
yuyaozhi 已提交
453
## AbilityContext.setMissionLabel
ahjxliubao2's avatar
ahjxliubao2 已提交
454 455 456 457 458

setMissionLabel(label: string, callback:AsyncCallback<void>): void;

设置ability在任务中显示的名称。

Y
yuyaozhi 已提交
459
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
460

Y
yuyaozhi 已提交
461
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
462

G
guyuanzhang 已提交
463 464 465 466
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| label | string | 是 | 显示名称。 |
| callback | AsyncCallback<void> | 是 | 回调函数,返回接口调用是否成功的结果。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
467

Y
yuyaozhi 已提交
468
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
469
    
Y
yuyaozhi 已提交
470
  ```js
ahjxliubao2's avatar
ahjxliubao2 已提交
471
  this.context.setMissionLabel("test",(result) => {
R
RayShih 已提交
472
      console.log('requestPermissionsFromUserresult:' + JSON.stringify(result));
ahjxliubao2's avatar
ahjxliubao2 已提交
473 474 475 476
  });
  ```


Y
yuyaozhi 已提交
477
## AbilityContext.setMissionLabel
ahjxliubao2's avatar
ahjxliubao2 已提交
478

W
wusongqing 已提交
479
setMissionLabel(label: string): Promise<void>
ahjxliubao2's avatar
ahjxliubao2 已提交
480 481 482

设置ability在任务中显示的名称。

Y
yuyaozhi 已提交
483
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
484

Y
yuyaozhi 已提交
485
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
486

G
guyuanzhang 已提交
487 488 489
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| label | string | 是 | 显示名称。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
490

Y
yuyaozhi 已提交
491 492
**返回值:**

G
guyuanzhang 已提交
493 494 495
| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 返回一个Promise,包含接口的结果。 |
ahjxliubao2's avatar
ahjxliubao2 已提交
496

Y
yuyaozhi 已提交
497
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
498
    
Y
yuyaozhi 已提交
499
  ```js
ahjxliubao2's avatar
ahjxliubao2 已提交
500
  this.context.setMissionLabel("test").then((data) => {
R
RayShih 已提交
501
      console.log('success:' + JSON.stringify(data));
ahjxliubao2's avatar
ahjxliubao2 已提交
502
  }).catch((error) => {
R
RayShih 已提交
503
      console.log('failed:' + JSON.stringify(error));
ahjxliubao2's avatar
ahjxliubao2 已提交
504 505 506
  });
  ```

G
guyuanzhang 已提交
507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526
## AbilityContext.isTerminating

isTerminating(): boolean;

查询ability是否在terminating状态。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| bool | true:ability当前处于terminating状态;false:不处于terminating状态。 |

**示例:**

  ```js
  var isTerminating = this.context.isTerminating();
  console.log('ability state :' + isTerminating);
  ```