js-apis-inputmonitor.md 4.5 KB
Newer Older
Z
zengyawen 已提交
1 2
# 输入监听

H
hungry_feiwei 已提交
3
InputMonitor模块提供了监听全局触摸事件的功能。
Z
zengyawen 已提交
4 5 6

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
H
HelloCrease 已提交
7
>
Z
zengyawen 已提交
8 9 10 11 12 13
> - 本模块接口均为系统接口,三方应用不支持调用。


## 导入模块


M
mayunteng_1 已提交
14
```js
Z
zengyawen 已提交
15 16 17 18 19 20 21 22 23 24 25 26 27
import inputMonitor from '@ohos.multimodalInput.inputMonitor';
```


## 权限

ohos.permission.INPUT_MONITORING


## inputMonitor.on

on(type: "touch", receiver: TouchEventReceiver): void

M
mayunteng_1 已提交
28
开始监听全局触屏事件。
Z
zengyawen 已提交
29

H
hungry_feiwei 已提交
30 31
此接口为系统接口。

M
mayunteng_1 已提交
32
**需要权限:** ohos.permission.INPUT_MONITORING
Z
zengyawen 已提交
33

M
mayunteng_1 已提交
34
**系统能力:** SystemCapability.MultimodalInput.Input.InputMonitor
Z
zengyawen 已提交
35 36

  **参数:**
M
mayunteng_1 已提交
37 38 39 40
| 参数     | 类型                                      | 必填 | 说明                            |
| -------- | ----------------------------------------- | ---- | ------------------------------- |
| type     | string                                    | 是   | 监听输入事件类型,取值“touch”。 |
| receiver | [TouchEventReceiver](#toucheventreceiver) | 是   | 触摸输入事件回调函数。          |
Z
zengyawen 已提交
41 42 43

  **示例:**

M
mayunteng_1 已提交
44
```js
45 46 47 48
inputMonitor.off("touch", (event) => {
  // 消费触屏事件
  return false;
});
Z
zengyawen 已提交
49 50
```

M
mayunteng_1 已提交
51

H
hungry_feiwei 已提交
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
on(type: "mouse", receiver: Callback<MouseEvent>): void

开始监听全局鼠标事件。

此接口为系统接口。

**需要权限:** ohos.permission.INPUT_MONITORING

**系统能力:** SystemCapability.MultimodalInput.Input.InputMonitor

  **参数:** 

| 参数     | 类型                       | 必填 | 说明                            |
| -------- | -------------------------- | ---- | ------------------------------- |
| type     | string                     | 是   | 监听输入事件类型,取值“mouse”。 |
| receiver | Callback<MouseEvent> | 是   | 鼠标输入事件回调函数。          |

  **示例:**

```js
inputMonitor.off("mouse", (event) => {
  // 消费鼠标事件
});
```


Z
zengyawen 已提交
78 79 80

## inputMonitor.off

H
hungry_feiwei 已提交
81
off(type: "touch", receiver?: TouchEventReceiver): void
Z
zengyawen 已提交
82

83
停止监听全局触屏事件。
Z
zengyawen 已提交
84

H
hungry_feiwei 已提交
85 86
此接口为系统接口。

M
mayunteng_1 已提交
87
**需要权限:** ohos.permission.INPUT_MONITORING
Z
zengyawen 已提交
88

M
mayunteng_1 已提交
89
**系统能力:** SystemCapability.MultimodalInput.Input.InputMonitor
Z
zengyawen 已提交
90 91

  **参数:**
M
mayunteng_1 已提交
92 93 94 95
| 参数     | 类型                                      | 必填 | 说明                            |
| -------- | ----------------------------------------- | ---- | ------------------------------- |
| type     | string                                    | 是   | 监听输入事件类型,取值“touch”。 |
| receiver | [TouchEventReceiver](#toucheventreceiver) | 否   | 触摸输入事件回调函数。          |
Z
zengyawen 已提交
96 97 98

  **示例:**

M
mayunteng_1 已提交
99
```js
100
inputMonitor.off("touch");
Z
zengyawen 已提交
101 102
```

H
hungry_feiwei 已提交
103
off(type: "mouse", receiver?: Callback<MouseEvent>): void
M
mayunteng_1 已提交
104

H
hungry_feiwei 已提交
105
停止监听全局鼠标事件。
Z
zengyawen 已提交
106

H
hungry_feiwei 已提交
107
此接口为系统接口。
Z
zengyawen 已提交
108

M
mayunteng_1 已提交
109
**需要权限:** ohos.permission.INPUT_MONITORING
H
hungry_feiwei 已提交
110

M
mayunteng_1 已提交
111
**系统能力:** SystemCapability.MultimodalInput.Input.InputMonitor
H
hungry_feiwei 已提交
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129

  **参数:**

| 参数     | 类型                       | 必填 | 说明                            |
| -------- | -------------------------- | ---- | ------------------------------- |
| type     | string                     | 是   | 监听输入事件类型,取值“mouse”。 |
| receiver | Callback<MouseEvent> | 否   | 鼠标输入事件回调函数。          |

**示例:**

```js
inputMonitor.off("mouse");
```



## TouchEventReceiver

H
hungry_feiwei 已提交
130
触摸输入事件的回调函数。如果返回true,则触摸输入被监听器消耗,系统将执行关闭动作。
Z
zengyawen 已提交
131

H
hungry_feiwei 已提交
132 133
此接口为系统接口。

M
mayunteng_1 已提交
134
**系统能力:** SystemCapability.MultimodalInput.Input.InputMonitor
Z
zengyawen 已提交
135 136

  **参数:**
H
HelloCrease 已提交
137 138 139
| 参数         | 类型                                       | 必填   | 说明                                       |
| ---------- | ---------------------------------------- | ---- | ---------------------------------------- |
| touchEvent | [TouchEvent](../arkui-js/js-components-common-events.md) | 是    | 触摸输入事件回调函数,返回true表示输触事件被监听器消费,false表示输触事件未被监听器消费。 |
Z
zengyawen 已提交
140 141

  **返回值:**
142
| 类型    | 说明                                    |
H
HelloCrease 已提交
143
| ------- | -------------------------------------- |
144
| Boolean | 返回true表示触摸输入事件被监听器消费,false表示触摸输入事件未被监听器消费。 |
Z
zengyawen 已提交
145 146 147

  **示例:**

M
mayunteng_1 已提交
148
```js
149
inputMonitor.on("touch", (event) => {
150
  // 消费触摸输入事件
151 152 153
  return false;
});
inputMonitor.off("touch");
Z
zengyawen 已提交
154
```