js-apis-featureAbility.md 26.3 KB
Newer Older
1
# FeatureAbility模块(JS端SDK接口)
X
xuchenghua09 已提交
2

Z
zengyawen 已提交
3
## 使用限制
X
xuchenghua09 已提交
4 5 6

FeatureAbility模块的接口只能在Page类型的Ability调用

Z
zengyawen 已提交
7
## 导入模块
X
xuchenghua09 已提交
8 9 10 11 12

```
import featureAbility from '@ohos.ability.featureAbility'
```

Z
zengyawen 已提交
13
## featureAbility.startAbility
X
xuchenghua09 已提交
14

Z
zengyawen 已提交
15
startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
16

Z
zengyawen 已提交
17
启动新的ability(callback形式)。
X
xuchenghua09 已提交
18

Y
yuyaozhi 已提交
19
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
20

Z
zengyawen 已提交
21
**参数:**
X
xuchenghua09 已提交
22

Z
zengyawen 已提交
23 24 25 26
| 名称      | 类型                  | 必填 | 描述                |
| --------- | --------------------- | ---- | ------------------- |
| parameter | [StartAbilityParameter](#startabilityparameter) | 是   | 表示被启动的Ability。 |
| callback  | AsyncCallback\<number>         | 是   | 被指定的回调方法。   |
X
xuchenghua09 已提交
27

Z
zengyawen 已提交
28
**示例:**
X
xuchenghua09 已提交
29 30 31

```javascript
import featureAbility from '@ohos.ability.featureAbility'
32
import wantConstant from '@ohos.ability.wantConstant'
X
xuchenghua09 已提交
33 34 35 36 37 38 39
featureAbility.startAbility(
        {
        want:
        {
            action: "",
            entities: [""],
            type: "",
40
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
X
xuchenghua09 已提交
41 42 43 44 45 46
            deviceId: "",
            bundleName: "com.example.startability",
            abilityName: "com.example.startability.MainAbility",
            uri: ""
        },
    },
47
);
X
xuchenghua09 已提交
48 49 50 51
```



Z
zengyawen 已提交
52
## featureAbility.startAbility
X
xuchenghua09 已提交
53

Z
zengyawen 已提交
54
startAbility(parameter: StartAbilityParameter): Promise\<number>
X
xuchenghua09 已提交
55

Z
zengyawen 已提交
56
启动新的ability(Promise形式)。
X
xuchenghua09 已提交
57

Y
yuyaozhi 已提交
58
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
59

Z
zengyawen 已提交
60
**参数:**
X
xuchenghua09 已提交
61

Z
zengyawen 已提交
62 63 64
| 名称      | 类型                                            | 必填 | 描述                  |
| --------- | ----------------------------------------------- | ---- | --------------------- |
| parameter | [StartAbilityParameter](#startabilityparameter) | 是   | 表示被启动的Ability。 |
X
xuchenghua09 已提交
65

Z
zengyawen 已提交
66
**示例:**
X
xuchenghua09 已提交
67 68 69

```javascript
import featureAbility from '@ohos.ability.featureAbility'
70
import wantConstant from '@ohos.ability.wantConstant'
X
xuchenghua09 已提交
71 72 73 74
featureAbility.startAbility(
    {
        want:
        {
75
            action: "action.system.home",
X
xuchenghua09 已提交
76 77
            entities: ["entity.system.home"],
            type: "MIMETYPE",
78 79
			flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
            deviceId: "",
X
xuchenghua09 已提交
80 81 82 83 84
            bundleName: "com.example.startability",
            abilityName: "com.example.startability.MainAbility",
            uri: ""
        },
    }
85
   ).then((data) => {
X
xuchenghua09 已提交
86 87 88 89
	console.info("==========================>startAbility=======================>");
});
```

Z
zengyawen 已提交
90
## featureAbility.acquireDataAbilityHelper
X
xuchenghua09 已提交
91

Z
zengyawen 已提交
92
acquireDataAbilityHelper(uri: string): DataAbilityHelper
X
xuchenghua09 已提交
93

Z
zengyawen 已提交
94
获取dataAbilityHelper。
X
xuchenghua09 已提交
95

Y
yuyaozhi 已提交
96
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
97

Z
zengyawen 已提交
98
**参数:**
X
xuchenghua09 已提交
99

Z
zengyawen 已提交
100 101 102
| 名称 | 类型   | 必填 | 描述                     |
| ---- | ------ | ---- | ------------------------ |
| uri  | string | 是   | 指示要打开的文件的路径。 |
X
xuchenghua09 已提交
103

Z
zengyawen 已提交
104
**返回值:**
X
xuchenghua09 已提交
105

Z
zengyawen 已提交
106 107 108
| 类型              | 说明                                         |
| ----------------- | -------------------------------------------- |
| DataAbilityHelper | 用来协助其他Ability访问DataAbility的工具类。 |
X
xuchenghua09 已提交
109

Z
zengyawen 已提交
110
**示例:**
X
xuchenghua09 已提交
111 112 113 114 115 116 117 118

```javascript
import featureAbility from '@ohos.ability.featureAbility'
featureAbility.acquireDataAbilityHelper(
    "dataability:///com.exmaple.DataAbility"
)
```

Z
zengyawen 已提交
119
## featureAbility.startAbilityForResult
X
xuchenghua09 已提交
120

Z
zengyawen 已提交
121
startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback\<AbilityResult>): void
X
xuchenghua09 已提交
122

Z
zengyawen 已提交
123
启动一个ability,并在该ability被销毁时返回执行结果(callback形式)。
X
xuchenghua09 已提交
124

Y
yuyaozhi 已提交
125
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
126

Z
zengyawen 已提交
127
**参数:**
X
xuchenghua09 已提交
128

Z
zengyawen 已提交
129 130 131 132
| 名称      | 类型                                            | 必填 | 描述                  |
| --------- | ----------------------------------------------- | ---- | --------------------- |
| parameter | [StartAbilityParameter](#startabilityparameter) | 是   | 表示被启动的Ability。 |
| callback  | AsyncCallback\<[AbilityResult](#abilityresult)> | 是   | 被指定的回调方法。    |
X
xuchenghua09 已提交
133

Z
zengyawen 已提交
134
**示例:**
X
xuchenghua09 已提交
135 136 137

```javascript
import featureAbility from '@ohos.ability.featureability';
138
import wantConstant from '@ohos.ability.wantConstant'
X
xuchenghua09 已提交
139 140 141 142 143 144 145
featureAbility.startAbilityForResult(
   {
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
146
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
X
xuchenghua09 已提交
147 148 149 150 151 152 153 154 155
            deviceId: "",
            bundleName: "com.example.featureabilitytest",
            abilityName: "com.example.featureabilitytest.MainAbility",
            uri:""
        },
    },
)
```

Z
zengyawen 已提交
156
## featureAbility.startAbilityForResult
X
xuchenghua09 已提交
157

Z
zengyawen 已提交
158
startAbilityForResult(parameter: StartAbilityParameter): Promise\<AbilityResult>
X
xuchenghua09 已提交
159

Z
zengyawen 已提交
160
启动一个ability,并在该ability被销毁时返回执行结果(Promise形式)。
X
xuchenghua09 已提交
161

Y
yuyaozhi 已提交
162
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
163

Z
zengyawen 已提交
164
**参数:**
X
xuchenghua09 已提交
165

Z
zengyawen 已提交
166 167 168
| 名称      | 类型                                            | 必填 | 描述                |
| --------- | ----------------------------------------------- | ---- | ------------------- |
| parameter | [StartAbilityParameter](#startabilityparameter) | 是   | 表示被启动的Ability |
X
xuchenghua09 已提交
169

Z
zengyawen 已提交
170
**返回值:**
Y
yuyaozhi 已提交
171

Z
zengyawen 已提交
172 173 174
| 类型                                      | 说明           |
| ----------------------------------------- | -------------- |
| Promise\<[AbilityResult](#abilityresult)> | 返回执行结果。 |
X
xuchenghua09 已提交
175

Z
zengyawen 已提交
176
**示例:**
X
xuchenghua09 已提交
177 178 179

```javascript
import featureAbility from '@ohos.ability.featureability';
180
import wantConstant from '@ohos.ability.wantConstant'
X
xuchenghua09 已提交
181 182 183 184 185 186 187
featureAbility.startAbilityForResult(
    {
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
188
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
X
xuchenghua09 已提交
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
            deviceId: "",
            bundleName: "com.example.featureabilitytest",
            abilityName: "com.example.featureabilitytest.MainAbility",
            uri:"",
            parameters:
            {
                mykey0: 1111,
                mykey1: [1, 2, 3],
                mykey2: "[1, 2, 3]",
                mykey3: "xxxxxxxxxxxxxxxxxxxxxx",
                mykey4: [1, 15],
                mykey5: [false, true, false],
                mykey6: ["aaaaaa", "bbbbb", "ccccccccccc"],
                mykey7: true,
            },
        },
        requestCode: 2,
    },
207
).then((data) => {
X
xuchenghua09 已提交
208 209 210 211
    console.info("==========================>startAbilityForResult=======================>");
});
```

Z
zengyawen 已提交
212
## featureAbility.terminateSelfWithResult
X
xuchenghua09 已提交
213

Z
zengyawen 已提交
214
terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback\<void>): void
X
xuchenghua09 已提交
215

Z
zengyawen 已提交
216
设置此Page Ability将返回给调用者的结果代码和数据并破坏此Page Ability(callback形式)。
X
xuchenghua09 已提交
217

Y
yuyaozhi 已提交
218
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
219

Z
zengyawen 已提交
220
**参数:**
X
xuchenghua09 已提交
221

Z
zengyawen 已提交
222 223 224 225
| 名称      | 类型          | 必填 | 描述                |
| --------- | ------------- | ---- | ------------------- |
| parameter | [AbilityResult](#abilityresult) | 是   | 表示被启动的Ability。 |
| callback  | AsyncCallback\<void> | 是   | 被指定的回调方法。  |
X
xuchenghua09 已提交
226

Z
zengyawen 已提交
227
**示例:**
X
xuchenghua09 已提交
228 229 230

```javascript
import featureAbility from '@ohos.ability.featureAbility'
231
import wantConstant from '@ohos.ability.wantConstant'
X
xuchenghua09 已提交
232 233 234 235 236 237 238 239
featureAbility.terminateSelfWithResult(
    {
        resultCode: 1,
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
240
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
X
xuchenghua09 已提交
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
            deviceId: "",
            bundleName: "com.example.featureabilitytest",
            abilityName: "com.example.featureabilitytest.MainAbility",
            uri:"",
            parameters: {
                mykey0: 2222,
                mykey1: [1, 2, 3],
                mykey2: "[1, 2, 3]",
                mykey3: "ssssssssssssssssssssssssss",
                mykey4: [1, 15],
                mykey5: [false, true, false],
                mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
                mykey7: true,
            }
        },
    },
);
```

Z
zengyawen 已提交
260
## featureAbility.terminateSelfWithResult
X
xuchenghua09 已提交
261

Z
zengyawen 已提交
262
terminateSelfWithResult(parameter: AbilityResult): Promise\<void>
X
xuchenghua09 已提交
263

Z
zengyawen 已提交
264
设置此Page Ability将返回给调用者的结果代码和数据并破坏此Page Ability(Promise形式)。
X
xuchenghua09 已提交
265

Y
yuyaozhi 已提交
266
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
267

Z
zengyawen 已提交
268
**参数:**
X
xuchenghua09 已提交
269

Z
zengyawen 已提交
270 271 272
| 名称      | 类型                            | 必填 | 描述                |
| --------- | ------------------------------- | ---- | ------------------- |
| parameter | [AbilityResult](#abilityresult) | 是   | 表示被启动的Ability |
X
xuchenghua09 已提交
273

Z
zengyawen 已提交
274
**返回值:**
Y
yuyaozhi 已提交
275

Z
zengyawen 已提交
276 277 278
| 类型           | 说明                    |
| -------------- | ----------------------- |
| Promise\<void> | 以Promise形式返回结果。 |
X
xuchenghua09 已提交
279

Z
zengyawen 已提交
280
**示例:**
X
xuchenghua09 已提交
281 282 283

```javascript
import featureAbility from '@ohos.ability.featureability';
284
import wantConstant from '@ohos.ability.wantConstant'
X
xuchenghua09 已提交
285 286 287 288 289 290 291 292
featureAbility.terminateSelfWithResult(
    {
        resultCode: 1,
        want:
        {
            action: "action.system.home",
            entities: ["entity.system.home"],
            type: "MIMETYPE",
293
            flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
X
xuchenghua09 已提交
294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309
            deviceId: "",
            bundleName: "com.example.featureabilitytest",
            abilityName: "com.example.featureabilitytest.MainAbility",
            uri:"",
            parameters: {
                mykey0: 2222,
                mykey1: [1, 2, 3],
                mykey2: "[1, 2, 3]",
                mykey3: "ssssssssssssssssssssssssss",
                mykey4: [1, 15],
                mykey5: [false, true, false],
                mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
                mykey7: true,
            }
        },
    }
310
).then((data) => {
X
xuchenghua09 已提交
311 312 313 314 315 316
    console.info("==========================>terminateSelfWithResult=======================>");
});
```



Z
zengyawen 已提交
317
## featureAbility.hasWindowFocus
X
xuchenghua09 已提交
318

Z
zengyawen 已提交
319
hasWindowFocus(callback: AsyncCallback\<boolean>): void
X
xuchenghua09 已提交
320

Z
zengyawen 已提交
321
检查Ability的主窗口是否具有窗口焦点(callback形式)。
X
xuchenghua09 已提交
322

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

Z
zengyawen 已提交
325
**参数:**
X
xuchenghua09 已提交
326

Z
zengyawen 已提交
327 328 329
| 名称     | 类型                    | 必填 | 描述                                                         |
| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback\<boolean> | 是   | 被指定的回调方法。<br>如果此Ability当前具有视窗焦点,则返回true;否则返回false。 |
X
xuchenghua09 已提交
330

Z
zengyawen 已提交
331
**示例:**
X
xuchenghua09 已提交
332 333 334 335 336 337 338 339

```javascript
import featureAbility from '@ohos.ability.featureability';
featureAbility.hasWindowFocus()
```



Z
zengyawen 已提交
340
## featureAbility.hasWindowFocus
X
xuchenghua09 已提交
341

Z
zengyawen 已提交
342
hasWindowFocus(): Promise\<boolean>
X
xuchenghua09 已提交
343

Z
zengyawen 已提交
344
检查Ability的主窗口是否具有窗口焦点(Promise形式)。
X
xuchenghua09 已提交
345

Y
yuyaozhi 已提交
346
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
347

Z
zengyawen 已提交
348
**返回值:**
X
xuchenghua09 已提交
349

Z
zengyawen 已提交
350 351 352
| 类型              | 说明                                                       |
| ----------------- | ---------------------------------------------------------- |
| Promise\<boolean> | 如果此Ability当前具有视窗焦点,则返回true;否则返回false。 |
X
xuchenghua09 已提交
353

Z
zengyawen 已提交
354
**示例:**
X
xuchenghua09 已提交
355 356 357

```javascript
import featureAbility from '@ohos.ability.featureability';
358
featureAbility.hasWindowFocus().then((data) => {
X
xuchenghua09 已提交
359 360 361 362 363 364
    console.info("==========================>hasWindowFocus=======================>");
});
```



Z
zengyawen 已提交
365
## featureAbility.getWant
X
xuchenghua09 已提交
366

Z
zengyawen 已提交
367
getWant(callback: AsyncCallback\<Want>): void
X
xuchenghua09 已提交
368

Z
zengyawen 已提交
369
获取从Ability发送的Want(callback形式)。
X
xuchenghua09 已提交
370

Y
yuyaozhi 已提交
371
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
372

Z
zengyawen 已提交
373
**参数:**
X
xuchenghua09 已提交
374

Z
zengyawen 已提交
375 376 377
| 名称     | 类型                          | 必填 | 描述               |
| -------- | ----------------------------- | ---- | ------------------ |
| callback | AsyncCallback\<[Want](#want)> | 是   | 被指定的回调方法。 |
X
xuchenghua09 已提交
378

Z
zengyawen 已提交
379
**示例:**
X
xuchenghua09 已提交
380 381 382 383 384 385 386 387

```javascript
import featureAbility from '@ohos.ability.featureability';
featureAbility.getWant()
```



Z
zengyawen 已提交
388
## featureAbility.getWant
X
xuchenghua09 已提交
389

Z
zengyawen 已提交
390
getWant(): Promise\<Want>
X
xuchenghua09 已提交
391

Z
zengyawen 已提交
392
获取从Ability发送的Want(Promise形式)。
X
xuchenghua09 已提交
393

Y
yuyaozhi 已提交
394
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
395

Z
zengyawen 已提交
396
**返回值:**
Y
yuyaozhi 已提交
397

Z
zengyawen 已提交
398 399 400
| 类型                    | 说明                      |
| ----------------------- | ------------------------- |
| Promise\<[Want](#want)> | 以Promise的形式返回结果。 |
X
xuchenghua09 已提交
401

Z
zengyawen 已提交
402
**示例:**
X
xuchenghua09 已提交
403 404 405

```javascript
import featureAbility from '@ohos.ability.featureability';
406
featureAbility.getWant().then((data) => {
X
xuchenghua09 已提交
407 408 409 410
		console.info("==========================>getWantCallBack=======================>");
});
```

Z
zengyawen 已提交
411
## featureAbility.getContext
X
xuchenghua09 已提交
412

Z
zengyawen 已提交
413
getContext(): Context
X
xuchenghua09 已提交
414

Z
zengyawen 已提交
415
获取应用上下文。
X
xuchenghua09 已提交
416

Y
yuyaozhi 已提交
417
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
418

Z
zengyawen 已提交
419
**返回值:**
Y
yuyaozhi 已提交
420

Z
zengyawen 已提交
421 422 423
| 类型    | 说明                 |
| ------- | -------------------- |
| Context | 返回应用程序上下文。 |
X
xuchenghua09 已提交
424

Z
zengyawen 已提交
425
**示例:**
X
xuchenghua09 已提交
426 427 428 429 430 431 432 433 434

```javascript
import featureAbility from '@ohos.ability.featureability';
var context = featureAbility.getContext()
context.getBundleName()
```



Z
zengyawen 已提交
435
## featureAbility.terminateSelf
X
xuchenghua09 已提交
436

Z
zengyawen 已提交
437
terminateSelf(callback: AsyncCallback\<void>): void
X
xuchenghua09 已提交
438

Z
zengyawen 已提交
439
设置Page Ability返回给被调用方的结果代码和数据,并销毁此Page Ability(callback形式)。
X
xuchenghua09 已提交
440

Y
yuyaozhi 已提交
441
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
442

Z
zengyawen 已提交
443
**参数:**
X
xuchenghua09 已提交
444

Z
zengyawen 已提交
445 446 447
| 名称     | 类型                 | 必填 | 描述             |
| -------- | -------------------- | ---- | ---------------- |
| callback | AsyncCallback\<void> | 是   | 被指定的回调方法 |
X
xuchenghua09 已提交
448

Z
zengyawen 已提交
449
**示例:**
X
xuchenghua09 已提交
450 451 452 453 454 455 456 457

```javascript
import featureAbility from '@ohos.ability.featureability';
featureAbility.terminateSelf()
```



Z
zengyawen 已提交
458
## featureAbility.terminateSelf
X
xuchenghua09 已提交
459

Z
zengyawen 已提交
460
terminateSelf(): Promise\<void>
X
xuchenghua09 已提交
461

Z
zengyawen 已提交
462
设置Page Ability返回给被调用方的结果代码和数据,并销毁此Page Ability(Promise形式)。
X
xuchenghua09 已提交
463

Y
yuyaozhi 已提交
464
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
465

Z
zengyawen 已提交
466
**返回值:**
Y
yuyaozhi 已提交
467

Z
zengyawen 已提交
468 469 470
| 类型           | 说明                      |
| -------------- | ------------------------- |
| Promise\<void> | 以Promise的形式返回结果。 |
X
xuchenghua09 已提交
471

Z
zengyawen 已提交
472
**示例:**
X
xuchenghua09 已提交
473 474 475

```javascript
import featureAbility from '@ohos.ability.featureability';
476
featureAbility.terminateSelf().then((data) => {		    console.info("==========================>terminateSelfCallBack=======================>");
X
xuchenghua09 已提交
477 478 479
});
```

Z
zengyawen 已提交
480
## featureAbility.connectAbility
X
xuchenghua09 已提交
481

Z
zengyawen 已提交
482
connectAbility(request: Want, options:ConnectOptions): number
X
xuchenghua09 已提交
483

Z
zengyawen 已提交
484
将当前ability连接到指定ServiceAbility(callback形式)。
X
xuchenghua09 已提交
485

Y
yuyaozhi 已提交
486
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
487

Z
zengyawen 已提交
488
**参数:**
X
xuchenghua09 已提交
489

Z
zengyawen 已提交
490 491
| 名称    | 类型           | 必填 | 描述                         |
| ------- | -------------- | ---- | ---------------------------- |
492
| request | [Want](#want)           | 是   | 表示被连接的ServiceAbility。 |
Z
zengyawen 已提交
493
| options | ConnectOptions | 是   | 被指定的回调方法。           |
X
xuchenghua09 已提交
494

Z
zengyawen 已提交
495
**Want类型说明:**
496

ahjxliubao2's avatar
ahjxliubao2 已提交
497 498
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase

499 500
| 名称         | 读写属性  | 类型     | 必填 | 描述                                                              |
| ------------ | -------- | -------- | ---- | ----------------------------------                               |
ahjxliubao2's avatar
ahjxliubao2 已提交
501 502 503
| deviceId     | 只读     | string   | 否   | 表示被连接的ServiceAbility的设备id,缺省表示连接本地的ServiceAbility。 |
| bundleName   | 只读     | string   | 是   | 表示被连接的ServiceAbility的包名。                                   |
| abilityName  | 只读     | string   | 是   | 表示被连接的ServiceAbility的类名。                                   |
504

Z
zengyawen 已提交
505
**ConnectOptions类型说明:**
X
xuchenghua09 已提交
506

ahjxliubao2's avatar
ahjxliubao2 已提交
507 508
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

X
xuchenghua09 已提交
509 510
| 名称         | 读写属性 | 类型     | 必填 | 描述                               |
| ------------ | -------- | -------- | ---- | ---------------------------------- |
ahjxliubao2's avatar
ahjxliubao2 已提交
511 512 513
| onConnect    | 只读     | function | 是   | 连接成功时的回调函数。               |
| onDisconnect | 只读     | function | 是   | 连接失败时的回调函数。               |
| onFailed     | 只读     | function | 是   | ConnectAbility调用失败时的回调函数。 |
X
xuchenghua09 已提交
514

Z
zengyawen 已提交
515
**返回值:**
Y
yuyaozhi 已提交
516

Z
zengyawen 已提交
517 518 519
| 类型   | 说明                     |
| ------ | ------------------------ |
| number | 连接的ServiceAbilityID。 |
X
xuchenghua09 已提交
520

Z
zengyawen 已提交
521
**示例:**
X
xuchenghua09 已提交
522 523

```javascript
H
hanhaibin 已提交
524
import rpc from '@ohos.rpc'
X
xuchenghua09 已提交
525 526 527 528 529 530 531 532 533 534 535 536
import featureAbility from '@ohos.ability.featureAbility'
function onConnectCallback(element, remote){
    console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));
}
function onDisconnectCallback(element){
    console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)
}
function onFailedCallback(code){
    console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connId = featureAbility.connectAbility(
    {
537
        deviceId: "",
X
xuchenghua09 已提交
538 539 540 541 542 543 544 545 546 547 548
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);
```

Z
zengyawen 已提交
549
## featureAbility.disconnectAbility
X
xuchenghua09 已提交
550

Z
zengyawen 已提交
551
disconnectAbility(connection: number, callback:AsyncCallback\<void>): void
X
xuchenghua09 已提交
552

Z
zengyawen 已提交
553
断开与指定ServiceAbility的连接(callback形式)。
X
xuchenghua09 已提交
554

Y
yuyaozhi 已提交
555
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
556

Z
zengyawen 已提交
557
**参数:**
X
xuchenghua09 已提交
558

Z
zengyawen 已提交
559 560 561 562
| 名称       | 类型          | 必填 | 描述                           |
| ---------- | ------------- | ---- | ------------------------------ |
| connection | number        | 是   | 指定断开连接的ServiceAbilityID |
| callback   | AsyncCallback\<void> | 是   | 被指定的回调方法               |
X
xuchenghua09 已提交
563

Z
zengyawen 已提交
564
**示例:**
X
xuchenghua09 已提交
565 566

```javascript
H
hanhaibin 已提交
567
import rpc from '@ohos.rpc'
X
xuchenghua09 已提交
568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
import featureAbility from '@ohos.ability.featureAbility'
function onConnectCallback(element, remote){
    console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));
}
function onDisconnectCallback(element){
    console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)
}
function onFailedCallback(code){
    console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connId = featureAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);
var result = featureAbility.disconnectAbility(connId,
    (error,data) => {
    console.log('featureAbilityTest DisConnectJsSameBundleName result errCode : ' + error.code + " data: " + data)
    },
);
```

Z
zengyawen 已提交
596
## featureAbility.disconnectAbility
X
xuchenghua09 已提交
597

Z
zengyawen 已提交
598
disconnectAbility(connection: number): Promise\<void>
X
xuchenghua09 已提交
599

Z
zengyawen 已提交
600
断开与指定ServiceAbility的连接(Promise形式)。
X
xuchenghua09 已提交
601

Y
yuyaozhi 已提交
602
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
603

Z
zengyawen 已提交
604
**参数:**
X
xuchenghua09 已提交
605

Z
zengyawen 已提交
606 607 608
| 名称       | 类型   | 必填 | 描述                           |
| ---------- | ------ | ---- | ------------------------------ |
| connection | number | 是   | 指定断开连接的ServiceAbilityID |
X
xuchenghua09 已提交
609

Z
zengyawen 已提交
610
**返回值:**
Y
yuyaozhi 已提交
611

Z
zengyawen 已提交
612 613 614
| 类型           | 说明                    |
| -------------- | ----------------------- |
| Promise\<void> | 以Promise形式返回结果。 |
X
xuchenghua09 已提交
615

Z
zengyawen 已提交
616
**示例:**
X
xuchenghua09 已提交
617 618

```javascript
H
hanhaibin 已提交
619
import rpc from '@ohos.rpc'
X
xuchenghua09 已提交
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640
import featureAbility from '@ohos.ability.featureAbility'
function onConnectCallback(element, remote){
    console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy));
}
function onDisconnectCallback(element){
    console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId)
}
function onFailedCallback(code){
    console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code)
}
var connId = featureAbility.connectAbility(
    {
        bundleName: "com.ix.ServiceAbility",
        abilityName: "ServiceAbilityA",
    },
    {
        onConnect: onConnectCallback,
        onDisconnect: onDisconnectCallback,
        onFailed: onFailedCallback,
    },
);
ahjxliubao2's avatar
ahjxliubao2 已提交
641 642 643 644

featureAbility.disconnectAbility(connId).then((error,data)=>{
    console.log('featureAbilityTest result errCode : ' + error.code + " data: " + data);
});
X
xuchenghua09 已提交
645 646
```

Z
zengyawen 已提交
647
## AbilityResult
X
xuchenghua09 已提交
648

ahjxliubao2's avatar
ahjxliubao2 已提交
649 650
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase

X
xuchenghua09 已提交
651 652
| 名称       | 读写属性 | 类型                  | 必填 | 描述                                                         |
| ---------- | -------- | --------------------- | ---- | ------------------------------------------------------------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
653 654
| resultCode | 只读     | number                | 是   | 指示销毁该能力后返回的结果代码。您可以定义结果代码来识别错误(暂不支持)。 |
| want       | 只读     | [Want](#want) | 否   | 指示销毁该能力后返回的数据。您可以定义返回的数据。此参数可以为null。  |
X
xuchenghua09 已提交
655

Z
zengyawen 已提交
656
## StartAbilityParameter
X
xuchenghua09 已提交
657

ahjxliubao2's avatar
ahjxliubao2 已提交
658 659
**系统能力**:以下各项对应的系统能力均为SystemCapability.AbilityRuntime.FAModel 

Z
zengyawen 已提交
660 661
| 名称                | 读写属性 | 类型                 | 必填 | 描述                                                         |
| ------------------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
662 663
| want                | 只读     | [Want](#want)        | 是   | 表示需要包含有关目标启动能力的信息。                       |
| abilityStartSetting | 只读     | {[key: string]: any} | 否   | 表示能力的特殊属性,当开发者启动能力时,该属性可以作为调用中的输入参数传递。 |
X
xuchenghua09 已提交
664

Z
zengyawen 已提交
665
## Want
X
xuchenghua09 已提交
666

ahjxliubao2's avatar
ahjxliubao2 已提交
667 668
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase

X
xuchenghua09 已提交
669 670
| 名称        | 读写属性 | 类型                 | 必填 | 描述                                                         |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
671 672 673 674 675 676 677 678 679
| deviceId    | 只读     | string               | 否   | 表示运行指定Ability的设备ID。                                |
| bundleName  | 只读     | string               | 否   | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
| abilityName | 只读     | string               | 否   | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
| uri         | 只读     | string               | 否   | 表示Uri描述。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 |
| type        | 只读     | string               | 否   | 表示MIME type类型描述,比如:"text/plain" 、 "image/*"等。   |
| flags       | 只读     | number               | 否   | 表示处理Want的方式。默认传数字,具体参考:[flags说明](#flags说明)。 |
| action      | 只读     | string               | 否   | 表示action选项描述。                           |
| parameters  | 只读     | {[key: string]: any} | 否   | 表示WantParams描述。                                       |
| entities    | 只读     | Array\<string>       | 否   | 表示entities相关描述。                                    |
X
xuchenghua09 已提交
680 681 682

## flags说明

ahjxliubao2's avatar
ahjxliubao2 已提交
683 684
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase

X
xuchenghua09 已提交
685 686
| 名称                                 | 参数       | 描述                                                         |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702
| FLAG_AUTH_READ_URI_PERMISSION        | 0x00000001 | 指示对URI执行读取操作的授权。                                  |
| FLAG_AUTH_WRITE_URI_PERMISSION       | 0x00000002 | 指示对URI执行写入操作的授权。                                 |
| FLAG_ABILITY_FORWARD_RESULT          | 0x00000004 | 将结果返回给元能力。                                           |
| FLAG_ABILITY_CONTINUATION            | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备。                |
| FLAG_NOT_OHOS_COMPONENT              | 0x00000010 | 指定组件是否属于OHOS。                                         |
| FLAG_ABILITY_FORM_ENABLED            | 0x00000020 | 指定是否启动某个能力。                                         |
| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权。                                    |
| FLAG_AUTH_PREFIX_URI_PERMISSION      | 0x00000080 | 按照前缀匹配的方式验证URI权限。                                           |
| FLAG_ABILITYSLICE_MULTI_DEVICE       | 0x00000100 | 支持分布式调度系统中的多设备启动。<                             |
| FLAG_START_FOREGROUND_ABILITY        | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能。   |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示迁移是可拉回的。                                        |
| FLAG_INSTALL_ON_DEMAND               | 0x00000800 | 如果未安装指定的功能,请安装该功能。                           |
| FLAG_INSTALL_WITH_BACKGROUND_MODE    | 0x80000000 | 如果未安装,使用后台模式安装该功能。                         |
| FLAG_ABILITY_CLEAR_MISSION           | 0x00008000 | 指示清除其他任务的操作。可以为传递给**ohos.app.Context#startAbility****Want**设置此标志,并且必须与**flag_ABILITY_NEW_MISSION**一起使用。 |
| FLAG_ABILITY_NEW_MISSION             | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。                         |
| FLAG_ABILITY_MISSION_TOP             | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
X
xuchenghua09 已提交
703