• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Want
2
3> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
4> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
5>
6> API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
7
8Want是系统的基本通信组件。
9
10
11## 导入模块
12
13
14```
15import Want from '@ohos.application.Want';
16```
17
18## 属性
19
20**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
21
22| 名称        | 读写属性 | 类型                 | 必填 | 描述                                                         |
23| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
24| deviceId    | 只读     | string               | 否   | 表示运行指定Ability的设备ID。                                |
25| bundleName   | 只读     | string               | 否   | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
26| abilityName  | 只读     | string               | 否   | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
27| uri          | 只读     | string               | 否   | 表示Uri描述。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 |
28| type         | 只读     | string               | 否   | 表示MIME type类型描述,比如:"text/plain" 、 "image/*"等。   |
29| flags        | 只读     | number               | 否   | 表示处理Want的方式。默认传数字,具体参考:[flags说明](js-apis-featureAbility.md#flags说明)。 |
30| action      | 只读     | string               | 否   | 表示action选项描述。                           |
31| parameters   | 只读     | {[key: string]: any} | 否   | 表示WantParams描述。                                       |
32| entities    | 只读     | Array\<string>       | 否   | 表示entities相关描述。                                    |                              |
33| extensionAbilityType<sup>9+</sup> |  只读   | bundle.ExtensionAbilityType | 否  | ExtensionAbility类型                |
34| extensionAbilityName<sup>9+<sup> | 只读     | string               | 否   | Want中扩展能力名称的描述。                                   |
35
36**示例:**
37
38- 基础用法
39
40  ```js
41  var want = {
42        "deviceId": "", // deviceId为空表示本设备
43        "bundleName": "com.extreme.test",
44        "abilityName": "MainAbility",
45        "uri": "pages/second" // uri非必选,可以传递路由地址
46    };
47    this.context.startAbility(want, (error) => {
48        // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
49        console.log("error.code = " + error.code)
50    })
51  ```
52
53- 传递FD数据,FD表示文件描述符(FileDescriptor)
54
55  ```js
56  var fd;
57    try {
58        fd = fileio.openSync("/data/storage/el2/base/haps/pic.png");
59    } catch(e) {
60        console.log("openSync fail:" + JSON.stringify(e));
61    }
62    var want = {
63        "deviceId": "", // deviceId为空表示本设备
64        "bundleName": "com.extreme.test",
65        "abilityName": "MainAbility",
66        "parameters": {
67          "keyFd":{"type":"FD", "value":fd}
68        }
69    };
70    this.context.startAbility(want, (error) => {
71        // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
72        console.log("error.code = " + error.code)
73    })
74  ```
75
76