js-apis-inputmethod-extension-context.md 5.0 KB
Newer Older
Z
zhaolinglan 已提交
1 2 3 4 5 6 7 8
# InputMethodExtensionContext

InputMethodExtensionContext模块是InputMethodExtensionAbility的上下文环境,继承自ExtensionContext。

InputMethodExtensionContext模块提供InputMethodExtensionAbility具有的能力和接口,包括启动、停止、绑定、解绑Ability。

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

Z
zhaolinglan 已提交
12 13 14 15 16 17
## 导入模块

```
import InputMethodExtensionContext from '@ohos.inputmethodextensioncontext';
```

Z
zhaolinglan 已提交
18 19 20 21 22
## 使用说明

在使用InputMethodExtensionContext的功能前,需要通过InputMethodExtensionAbility子类实例获取。

```js
H
Hollokin 已提交
23 24 25 26 27 28
import InputMethodExtensionAbility from '@ohos.inputmethodextensionability';
class MainAbility extends InputMethodExtensionAbility {
    onCreate() {
        let context = this.context;
    }
}
Z
zhaolinglan 已提交
29 30
```

Z
zhaolinglan 已提交
31
## InputMethodExtensionContext.startAbility
Z
zhaolinglan 已提交
32 33 34

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

Z
zhaolinglan 已提交
35
启动Ability,包含一个Want类型参数。callback形式返回启动结果。
Z
zhaolinglan 已提交
36 37 38 39 40

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

Z
zhaolinglan 已提交
41 42 43 44
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
| callback | AsyncCallback<void> | 是 | 回调函数,返回接口调用是否成功的结果。 |
Z
zhaolinglan 已提交
45 46 47

**示例:**

H
Hollokin 已提交
48 49 50 51 52 53 54 55 56
```js
let want = {
    'bundleName': 'com.example.myapp',
    'abilityName': 'MyAbility'
};
this.context.startAbility(want, (err) => {
    console.log('startAbility result:' + JSON.stringify(err));
});
```
Z
zhaolinglan 已提交
57

Z
zhaolinglan 已提交
58
## InputMethodExtensionContext.startAbility
Z
zhaolinglan 已提交
59 60 61

startAbility(want: Want, options?: StartOptions): Promise\<void>;

Z
zhaolinglan 已提交
62
启动Ability,包含Want类型参数,以及可选填的StartOption类型参数。通过Promise方法返回结果。
Z
zhaolinglan 已提交
63 64 65 66 67

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

Z
zhaolinglan 已提交
68 69 70 71
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
| options | [StartOptions](js-apis-application-StartOptions.md) | 否 | 启动Ability所携带的参数。 |
Z
zhaolinglan 已提交
72 73 74 75 76 77 78 79 80

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;void&gt; | 返回一个Promise,包含接口的结果。 | 

**示例:**

H
Hollokin 已提交
81 82 83 84 85 86 87 88 89 90 91
```js
let want = {
    'bundleName': 'com.example.myapp',
    'abilityName': 'MyAbility'
};
this.context.startAbility(want).then((data) => {
    console.log('success:' + JSON.stringify(data));
}).catch((error) => {
    console.log('failed:' + JSON.stringify(error));
});
```
Z
zhaolinglan 已提交
92

Z
zhaolinglan 已提交
93
## InputMethodExtensionContext.startAbility
Z
zhaolinglan 已提交
94 95 96

startAbility(want: Want, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void

Z
zhaolinglan 已提交
97
启动Ability,包含有两个参数,Want类型和StartOption类型参数。callback形式返回启动结果。
Z
zhaolinglan 已提交
98 99 100 101 102 103 104 105 106 107 108 109 110

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | 启动Ability的want信息。 |
| options | [StartOptions](js-apis-application-StartOptions.md) | 是 | 启动Ability所携带的参数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果。 |

**示例:**

H
Hollokin 已提交
111 112
```js
let want = {
H
Hollokin 已提交
113 114 115
    'deviceId': '',
    'bundleName': 'com.extreme.test',
    'abilityName': 'MainAbility'
H
Hollokin 已提交
116 117
};
let options = {
H
Hollokin 已提交
118
    windowMode: 0,
H
Hollokin 已提交
119 120 121 122 123
};
this.context.startAbility(want, options, (error) => {
    console.log('error.code = ' + error.code)
})
```
Z
zhaolinglan 已提交
124 125 126 127 128

## InputMethodExtensionContext.terminateSelf

terminateSelf(callback: AsyncCallback&lt;void&gt;): void;

Z
zhaolinglan 已提交
129
停止输入法应用自身,通过Callback方法返回接口调用是否成功。
Z
zhaolinglan 已提交
130 131 132 133 134

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

Z
zhaolinglan 已提交
135 136 137
| 参数名   | 类型                      | 必填 | 说明                                   |
| -------- | ------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数,返回接口调用是否成功的结果。 |
Z
zhaolinglan 已提交
138 139 140

**示例:**

H
Hollokin 已提交
141
```js
Z
zhaolinglan 已提交
142
this.context.terminateSelf((err) => {
Z
zhaolinglan 已提交
143
    console.log('terminateSelf result:' + JSON.stringify(err));
Z
zhaolinglan 已提交
144
});
H
Hollokin 已提交
145
```
Z
zhaolinglan 已提交
146 147 148 149 150

## InputMethodExtensionContext.terminateSelf

terminateSelf(): Promise&lt;void&gt;;

Z
zhaolinglan 已提交
151
停止输入法应用自身。通过Promise返回结果。
Z
zhaolinglan 已提交
152 153 154 155 156 157 158 159 160 161 162

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;void&gt; | 返回一个Promise,包含接口的结果。 | 

**示例:**

H
Hollokin 已提交
163 164 165 166 167 168 169
```js
this.context.terminateSelf().then((data) => {
    console.log('success:' + JSON.stringify(data));
}).catch((error) => {
    console.log('failed:' + JSON.stringify(error));
});
```