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

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

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

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

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

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

Z
zhaolinglan 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30
## 使用说明

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

```js
  import InputMethodExtensionAbility from '@ohos.inputmethodextensionability';
  class MainAbility extends InputMethodExtensionAbility {
      onCreate() {
          let context = this.context;
      }
  }
```

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 48 49

**示例:**

  ```js
    let want = {
Z
zhaolinglan 已提交
50 51 52 53 54
        'bundleName': 'com.example.myapp',
        'abilityName': 'MyAbility'
    };
    this.context.startAbility(want, (err) => {
        console.log('startAbility result:' + JSON.stringify(err));
Z
zhaolinglan 已提交
55 56 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 81 82

**返回值:**

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

**示例:**

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

  ```

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

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

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

**系统能力**: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形式返回启动结果。 |

**示例:**

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

## InputMethodExtensionContext.terminateSelf

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

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

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

**参数:**

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

**示例:**

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

## InputMethodExtensionContext.terminateSelf

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

Z
zhaolinglan 已提交
152
停止输入法应用自身。通过Promise返回结果。
Z
zhaolinglan 已提交
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170

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

**返回值:**

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

**示例:**

  ```js
  this.context.terminateSelf().then((data) => {
      console.log('success:' + JSON.stringify(data));
  }).catch((error) => {
      console.log('failed:' + JSON.stringify(error));
  });
  ```