android api (83) —— InputMethodSession [输入法]

简介:

一、结构

public interface InputMethodSession       

android.view.inputmethod. InputMethodSession

间接子类

AbstractInputMethodService.AbstractInputMethodSessionImpl,InputMethodService.InputMethodSessionImpl

二、概述

  InputMethodSession接口提供给每个客户端的InputMethod可安全地暴露在应用程序中。

  应用程序通常不自己使用本接口,而是依靠TextViewEditText提供的标准交互。

三、内部类

     interface          InputMethodSession.EventCallback

四、公共方法

           public abstract void appPrivateCommand (String action, Bundle data)

  执行由应用程序发往输入法的私有命令。它可用于提供专属域功能,仅专属于特定的输入法及其客户端

             参数

  action      执行命名的名称。它必须是一个域名称,如前缀你自己的包名称,这样不同的开发者就不产生命令冲突。

  data         随命令包括的任何数据。 

  public abstract void dispatchKeyEvent (int seq, KeyEvent event, InputMethodSession.EventCallback callback)

  当按键按下时调用此方法。完成事件时,本方法的实现方法必须调用callback回调函数并返回结果。

  如果输入法处理此事件返回true,否则返回false,调用者(如应用程序)将处理事件。

             参数

  event       按键事件

  返回值

  输入法是否处理本事件。

  参见

                       ERROR(/#dispatchKeyUp)

                       KeyEvent

  public abstract void dispatchTrackballEvent (int seq, MotionEvent event, InputMethodSession.EventCallback callback)

  发生轨迹球事件时调用此方法。

  如果输入法处理此事件返回true,否则返回false,调用者(如应用程序)将处理事件。

             参数

  event       移动事件

  返回值

  输入法是否处理本事件。

  参见

                       MotionEvent

  public abstract void displayCompletions (CompletionInfo[] completions)

  由文本编辑器调用自动补全,完成后通知输入法补全有效。可被用于输入法向用户显示备选文本以备插入。

             参数

  completions    补充文本数组有效,并以最佳结果开头。如果数组为空,存在的补充将被移除。

  public abstract void finishInput ()

  当应用程序要停止接收文字输入时调用此方法。

  public abstract void toggleSoftInput (int showFlags, int hideFlags)

  切换软键盘(soft input)窗口。应用程序能切换软键盘(soft input)窗口

               参数

  showFlags       提供附加的操作标志。可能为0或设置SHOW_IMPLICIT, SHOW_FORCED位。

  hideFlags         提供附加的操作标志。可能为0或设置HIDE_IMPLICIT_ONLY, HIDE_NOT_ALWAYS位。 

  public abstract void updateCursor (Rect newCursor)

  当目标输入域的光标位置在自身窗口内移动时调用此方法。本方法通常不被调用,但输入法要求更新时可被调用。

             参数

  newCursor      当前输入区域窗口坐标系下光标显示的矩阵区域。 

  public abstract void updateExtractedText (int token, ExtractedText text)

  当内容变化时文本编辑器调用此方法,通知其新提取文本。本方法仅在输入法调用InputConnection.getExtractedText()并带有通报更新选项时才被调用。

             参数

  token       输入法提供了分辨要求的令牌。

  text          新的提取文本。 

  public abstract void updateSelection (int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd)

  当目标输入域的光标或选定变化时,调用此方法。

             参数

  oldSelStart      之前的选择开始位置相对于光标的文本偏移。

  oldSelEnd         之前的选择结束位置相对于光标的文本偏移。

  newSelStart    新的选择初始位置相对于光标的文本偏移。

  newSelEnd      新的选择结束位置相对于光标的文本偏移。

  candidatesStart      当前坐标系下文本文本开始位置的文本偏移。

candidatesEnd         当前坐标系下文本文本结束位置的文本偏移。

五、补充

           文章链接

android 鍵盤的啟動關閉、顯示、隱藏及其 bug

本文转自博客园农民伯伯的博客,原文链接:android api (83) —— InputMethodSession [输入法],如需转载请自行联系原博主。



目录
相关文章
|
7月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
175 1
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
379 1
|
4月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
116 0
|
6月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
67 2
|
6月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
7月前
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
48 2
|
7月前
|
存储 安全 文件存储
Android OTA升级后输入法异常和应用丢失的分析
Android OTA升级后输入法异常和应用丢失的分析
116 1
|
7月前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
334 1
|
7月前
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
7月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
106 3