You need to sign in or sign up before continuing.
js-apis-ability-context.md 6.6 KB
Newer Older
1 2
# AbilityContext

3 4 5 6 7 8 9 10 11
- [属性](#属性)
- [startAbility](#startAbility)
- [startAbility](#startAbility)
- [startAbilityForResult](#startAbilityForResult)
- [startAbilityForResult](#startAbilityForResult)
- [terminateSelf](#terminateSelf)
- [terminateSelf](#terminateSelf)
- [terminateSelfWithResult](#terminateSelfWithResult)
- [terminateSelfWithResult](#terminateSelfWithResult)
12 13 14 15 16 17 18 19 20
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


Ability的上下文环境,继承自Context。


## 属性

21
| 名称 | 参数类型 | 可读 | 可写 | 说明 | 
22
| -------- | -------- | -------- | -------- | -------- |
23 24
| abilityInfo | AbilityInfo | 是 | 否 | Abilityinfo相关信息 | 
| currentHapModuleInfo | HapModuleInfo | 是 | 否 | 当前hap包的信息 | 
25 26 27 28 29 30 31 32 33


## startAbility

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

启动Ability。

- 参数:
34
  | 参数名 | 类型 | 必填 | 说明 | 
35
  | -------- | -------- | -------- | -------- |
36 37
  | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | 
  | callback | AsyncCallback<void> | 是 | callback形式返回启动结果 | 
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

- 示例:
  ```
  var want = {
  	"deviceId": "",
  	"bundleName": "com.extreme.test",
  	"abilityName": "com.extreme.test.MainAbility"
  };
  this.context.startAbility(want, (error) => {
      console.log("error.code = " + error.code)
  })
  ```


## startAbility

54
startAbility(want: Want): Promise<void>;
55

56
启动Ability。通过Promise返回结果。
57 58

- 参数:
59
  | 参数名 | 类型 | 必填 | 说明 | 
60
  | -------- | -------- | -------- | -------- |
61
  | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | 
62 63

- 返回值:
64
  | 类型 | 说明 | 
65
  | -------- | -------- |
66
  | Promise<void> | Promise形式返回启动结果。 | 
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

- 示例:
  ```
  var want = {
  	"deviceId": "",
  	"bundleName": "com.extreme.test",
  	"abilityName": "com.extreme.test.MainAbility"
  };
  this.context.startAbility(want)
  .then((data) => {
      console.log('Operation successful.')
  }).catch((error) => {
      console.log('Operation failed.');
  })
  ```


## startAbilityForResult

86
startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): void;
87 88 89 90

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

- 参数:
91
  | 参数名 | 类型 | 必填 | 说明 | 
92
  | -------- | -------- | -------- | -------- |
93 94 95
  | want |[Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | 
  | callback | Callback<[AbilityResult](js-apis-featureAbility.md#AbilityResult类型说明)> | 是 | 执行结果回调函数。 | 

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

- 示例:
  ```
  this.context.startAbilityForResult(
      {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"},
      (error, result) => {
          console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code)
          console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode)
       }
  );
  ```


## startAbilityForResult

111
startAbilityForResult(want: Want): Promise<AbilityResult>;
112 113 114 115

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

- 参数:
116
  | 参数名 | 类型 | 必填 | 说明 | 
117
  | -------- | -------- | -------- | -------- |
118
  | want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 启动Ability的want信息。 | 
119 120

- 返回值
121
  | 类型 | 说明 | 
122
  | -------- | -------- |
123
  | Promise<[AbilityResult](js-apis-featureAbility.md#AbilityResult类型说明)> | Promise形式返回执行结果。 | 
124 125 126 127 128 129 130 131 132 133 134 135 136

- 示例:
  ```
  this.context.startAbilityForResult({bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}).then((result) => {
      console.log("startAbilityForResult Promise.resolve is called, result.resultCode = " + result.resultCode)
  }, (error) => {
      console.log("startAbilityForResult Promise.Reject is called, error.code = " + error.code)
  })
  ```


## terminateSelf

137
terminateSelf(callback: AsyncCallback<void>): void;
138

139
停止Ability自身。
140 141

- 参数:
142
  | 参数名 | 类型 | 必填 | 说明 | 
143
  | -------- | -------- | -------- | -------- |
144
  | callback | AsyncCallback<void> | 否 | 回调函数,返回接口调用是否成功的结果。 | 
145 146 147 148 149 150 151 152 153 154 155

- 示例:
  ```
  this.context.terminateSelf((err) => {
      console.log('terminateSelf result:' + JSON.stringfy(err);
  }
  ```


## terminateSelf

156
terminateSelf(): Promise<void>;
157

158
停止Ability自身。通过Promise返回结果。
159 160

- 返回值:
161
  | 类型 | 说明 | 
162
  | -------- | -------- |
163
  | Promise<void> | 返回一个Promise,包含接口的结果。 | 
164 165 166 167 168 169 170 171 172 173 174 175 176

- 示例:
  ```
  this.context.terminateSelf(want).then((data) => {
      console.log('success:' + JSON.stringfy(data));
  )).catch((error) => {
      console.log('failed:' + JSON.stringfy(error));
  });
  ```


## terminateSelfWithResult

177
terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void;
178

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

- 参数
182
  | 参数名 | 类型 | 必填 | 说明 | 
183
  | -------- | -------- | -------- | -------- |
184 185
  | parameter |  [AbilityResult](js-apis-featureAbility.md#AbilityResult类型说明) | 是 | 返回给调用startAbilityForResult 接口调用方的相关信息。 | 
  | callback | Callback<void> | 否 | callback形式返回停止结果 | 
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201

- 示例:
  ```
  this.context.terminateSelfWithResult(
     {
          want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"},
          resultCode: 100
      }, (error) => {
          console.log("terminateSelfWithResult is called = " + error.code)
      }
  );
  ```


## terminateSelfWithResult

202
terminateSelfWithResult(parameter: AbilityResult): Promise<void>;
203

204
停止Ability,并返回给调用startAbilityForResult 接口相关信息。
205 206

- 参数:
207
  | 参数名 | 类型 | 必填 | 说明 | 
208
  | -------- | -------- | -------- | -------- |
209
  | parameter |  [AbilityResult](js-apis-featureAbility.md#AbilityResult类型说明) | 是 | 返回给startAbilityForResult 调用方的信息。 | 
210 211

- 返回值:
212
  | 类型 | 说明 | 
213
  | -------- | -------- |
214
  | Promise<void> | promise形式返回停止结果 | 
215 216 217 218 219 220 221 222 223 224 225 226

- 示例:
  ```
  this.context.terminateSelfWithResult(
  {
      want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"},
      resultCode: 100
  }).then((result) => {
      console.log("terminateSelfWithResult")
  }
  )
  ```