Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8d4c7790
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8d4c7790
编写于
5月 11, 2023
作者:
C
cy7717
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
mod
Signed-off-by:
N
cy7717
<
chenyu301@huawei.com
>
上级
9e706eef
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
12 deletion
+11
-12
zh-cn/application-dev/application-models/inputmethodextentionability.md
...ion-dev/application-models/inputmethodextentionability.md
+11
-12
未找到文件。
zh-cn/application-dev/application-models/inputmethodextentionability.md
浏览文件 @
8d4c7790
# InputMethodExtensionAbility开发指南
[
InputMethodExtensionAbility
](
../reference/apis/js-apis-inputmethod-extension-ability.md
)
是inputMethod类型的ExtensionAbility组件,提供输入法框架服务相关扩展能力。
## 使用场景
[
InputMethodExtensionAbility
](
../reference/apis/js-apis-inputmethod-extension-ability.md
)
基于
[
ExtensionAbility
](
extensionability-overview.md
)
框架,用于开发输入法应用。
[
InputMethodExtensionAbility
](
../reference/apis/js-apis-inputmethod-extension-ability.md
)
可以被其他组件启动或连接,并根据调用者的请求信息在后台处理相关事务
。
[
InputMethodExtensionAbility
](
../reference/apis/js-apis-inputmethod-extension-ability.md
)
实例及其所在的ExtensionAbility进程的整个生命周期,都是由输入法框架进行调度管理。输入法框架提供了
[
InputMethodExtensionAbility
](
../reference/apis/js-apis-inputmethod-extension-ability.md
)
基类,开发者需要派生此基类,以实现输入法应用生命周期开始和销毁时的相关初始化操作和资源清理工作等
。
InputMethodExtensionAbility通过
[
InputMethodExtensionContext
](
../reference/apis/js-apis-inputmethod-extension-context.md
)
提供相关能力。
[
InputMethodExtensionAbility
](
../reference/apis/js-apis-inputmethod-extension-ability.md
)
通过
[
InputMethodExtensionContext
](
../reference/apis/js-apis-inputmethod-extension-context.md
)
提供相关能力。
## 实现一个输入法应用
...
...
@@ -67,7 +67,7 @@ InputMethodExtensionAbility通过[InputMethodExtensionContext](../reference/apis
onDestroy
()
{
console
.
log
(
"
onDestroy.
"
);
this
.
context
.
destroy
();
this
.
keyboardController
.
onDestroy
();
// 销毁窗口并去注册事件监听
}
}
```
...
...
@@ -103,10 +103,9 @@ InputMethodExtensionAbility通过[InputMethodExtensionContext](../reference/apis
public
onDestroy
():
void
// 应用生命周期销毁
{
this
.
unRegisterListener
();
//
注销
事件监听
this
.
unRegisterListener
();
//
去注册
事件监听
let
win
=
windowManager
.
findWindow
(
this
.
windowName
);
win
.
destroyWindow
();
// 销毁窗口
this
.
mContext
.
terminateSelf
();
// 销毁InputMethodExtensionAbility服务
}
private
initWindow
():
void
// 初始化窗口
...
...
@@ -156,7 +155,7 @@ InputMethodExtensionAbility通过[InputMethodExtensionContext](../reference/apis
})
globalThis
.
inputAbility
.
on
(
'
inputStop
'
,
(
imeId
)
=>
{
if
(
imeId
==
"
包名/Ability名
"
)
{
this
.
onDestroy
();
this
.
mContext
.
destroy
();
// 销毁InputMethodExtensionAbility服务
}
});
}
...
...
@@ -339,7 +338,7 @@ InputMethodExtensionAbility通过[InputMethodExtensionContext](../reference/apis
}
```
5.
在工程Module对应的
[
module.json5配置文件
](
../quick-start/module-configuration-file.md
)
中注册InputMethodExtensionAbility,type标签需要设置为“inputMethod”,srcEnty标签表示当前InputMethodExtensionAbility组件所对应的代码路径。
5.
在工程Module对应的
[
module.json5配置文件
](
../quick-start/module-configuration-file.md
)
中注册InputMethodExtensionAbility,type标签需要设置为“inputMethod”,srcEnt
r
y标签表示当前InputMethodExtensionAbility组件所对应的代码路径。
```
ts
{
...
...
@@ -350,7 +349,7 @@ InputMethodExtensionAbility通过[InputMethodExtensionContext](../reference/apis
"
description
"
:
"
inputMethod
"
,
"
icon
"
:
"
$media:icon
"
,
"
name
"
:
"
InputMethodExtAbility
"
,
"
srcEnty
"
:
"
./ets/inputmethodextability/InputMethodService.ts
"
,
"
srcEnt
r
y
"
:
"
./ets/inputmethodextability/InputMethodService.ts
"
,
"
type
"
:
"
inputMethod
"
,
"
exported
"
:
true
,
}
...
...
@@ -362,8 +361,8 @@ InputMethodExtensionAbility通过[InputMethodExtensionContext](../reference/apis
## 相关
实
例
## 相关
示
例
针对InputMethodExtensionAbility开发,有以下相关
实
例可供参考:
针对InputMethodExtensionAbility开发,有以下相关
示
例可供参考:
-
[
Kika输入法
](
https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Release/CompleteApps/KikaInput
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录