public final class InputManager
extends Object
java.lang.Object | |
↳ | android.hardware.input.InputManager |
提供有关输入设备和可用键布局的信息。
通过调用参数 INPUT_SERVICE
调用 Context.getSystemService()
来获得 INPUT_SERVICE
。
Nested classes |
|
---|---|
interface |
InputManager.InputDeviceListener 监听输入设备的更改。 |
Constants |
|
---|---|
String |
ACTION_QUERY_KEYBOARD_LAYOUTS 广播操作:查询可用的键盘布局。 |
String |
META_DATA_KEYBOARD_LAYOUTS 元数据键:与 |
Public methods |
|
---|---|
InputDevice |
getInputDevice(int id) 获取有关具有指定标识的输入设备的信息。 |
int[] |
getInputDeviceIds() 获取系统中所有输入设备的ID。 |
void |
registerInputDeviceListener(InputManager.InputDeviceListener listener, Handler handler) 注册输入设备侦听器,以接收有关何时添加,删除或更改输入设备的通知。 |
void |
unregisterInputDeviceListener(InputManager.InputDeviceListener listener) 取消注册输入设备监听器。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String ACTION_QUERY_KEYBOARD_LAYOUTS
广播操作:查询可用的键盘布局。
输入管理器服务通过查询为此操作注册的广播接收器来查找可用的键盘布局。 应用程序可以通过在其清单中声明合适的广播接收器来为用户提供额外的键盘布局。
这是一个广播接收器声明的示例,应用程序可能在其AndroidManifest.xml中包含广告键盘布局。 元数据指定一个资源,其中包含应用程序提供的每个键盘布局的说明。
<receiver android:name=".InputDeviceReceiver"
android:label="@string/keyboard_layouts_label">
<intent-filter>
<action android:name="android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS" />
</intent-filter>
<meta-data android:name="android.hardware.input.metadata.KEYBOARD_LAYOUTS"
android:resource="@xml/keyboard_layouts" />
</receiver>
在上面的示例中, @xml/keyboard_layouts
资源是指其元素为<keyboard-layouts>
包含零个或多个<keyboard-layout>
元素的XML资源。 每个<keyboard-layout>
元素都指定特定键盘布局的键字符映射的名称,标签和位置。 接收机上的标签用于在键盘布局设置中命名由该接收机提供的键盘布局集合。
<?xml version="1.0" encoding="utf-8"?>
<keyboard-layouts xmlns:android="http://schemas.android.com/apk/res/android">
<keyboard-layout android:name="keyboard_layout_english_us"
android:label="@string/keyboard_layout_english_us_label"
android:keyboardLayout="@raw/keyboard_layout_english_us" />
</keyboard-layouts>
android:name
属性指定了包中的键盘布局将被识别的标识符。 android:label
属性指定一个人类可读的描述性标签来描述用户界面中的键盘布局,例如“英语(美国)”。 android:keyboardLayout
属性是指定义键盘布局的key character map资源。
常量值:“android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS”
String META_DATA_KEYBOARD_LAYOUTS
元数据键:与 ACTION_QUERY_KEYBOARD_LAYOUTS
关联的键盘布局元数据。
指定描述应用程序提供的键盘布局的XML资源的资源ID。
常量值:“android.hardware.input.metadata.KEYBOARD_LAYOUTS”
InputDevice getInputDevice (int id)
获取有关具有指定标识的输入设备的信息。
Parameters | |
---|---|
id |
int : The device id. |
Returns | |
---|---|
InputDevice |
The input device or null if not found. |
int[] getInputDeviceIds ()
获取系统中所有输入设备的ID。
Returns | |
---|---|
int[] |
The input device ids. |
void registerInputDeviceListener (InputManager.InputDeviceListener listener, Handler handler)
注册输入设备侦听器,以接收有关何时添加,删除或更改输入设备的通知。
Parameters | |
---|---|
listener |
InputManager.InputDeviceListener : The listener to register. |
handler |
Handler : The handler on which the listener should be invoked, or null if the listener should be invoked on the calling thread's looper. |
void unregisterInputDeviceListener (InputManager.InputDeviceListener listener)
取消注册输入设备监听器。
Parameters | |
---|---|
listener |
InputManager.InputDeviceListener : The listener to unregister. |