java.lang.Object | |
↳ | android.hardware.input.InputManager |
Provides information about input devices and available key layouts.
Get an instance of this class by calling
Context.getSystemService()
with the argument
INPUT_SERVICE
.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
InputManager.InputDeviceListener | Listens for changes in input devices. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_QUERY_KEYBOARD_LAYOUTS | Broadcast Action: Query available keyboard layouts. | |||||||||
String | META_DATA_KEYBOARD_LAYOUTS |
Metadata Key: Keyboard layout metadata associated with
ACTION_QUERY_KEYBOARD_LAYOUTS
.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Gets information about the input device with the specified id.
|
||||||||||
|
Gets the ids of all input devices in the system.
|
||||||||||
|
Registers an input device listener to receive notifications about when
input devices are added, removed or changed.
|
||||||||||
|
Unregisters an input device listener.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Broadcast Action: Query available keyboard layouts.
The input manager service locates available keyboard layouts by querying broadcast receivers that are registered for this action. An application can offer additional keyboard layouts to the user by declaring a suitable broadcast receiver in its manifest.
Here is an example broadcast receiver declaration that an application might include in its AndroidManifest.xml to advertise keyboard layouts. The meta-data specifies a resource that contains a description of each keyboard layout that is provided by the application.
<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>
In the above example, the
@xml/keyboard_layouts
resource refers to
an XML resource whose root element is
<keyboard-layouts>
that
contains zero or more
<keyboard-layout>
elements.
Each
<keyboard-layout>
element specifies the name, label, and location
of a key character map for a particular keyboard layout. The label on the receiver
is used to name the collection of keyboard layouts provided by this receiver in the
keyboard layout settings.
<?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>
The
android:name
attribute specifies an identifier by which
the keyboard layout will be known in the package.
The
android:label
attributes specifies a human-readable descriptive
label to describe the keyboard layout in the user interface, such as "English (US)".
The
android:keyboardLayout
attribute refers to a
key character map
resource that defines the keyboard layout.
Metadata Key: Keyboard layout metadata associated with
ACTION_QUERY_KEYBOARD_LAYOUTS
.
Specifies the resource id of a XML resource that describes the keyboard layouts that are provided by the application.
Gets information about the input device with the specified id.
id | The device id. |
---|
Gets the ids of all input devices in the system.
Registers an input device listener to receive notifications about when input devices are added, removed or changed.
listener | The listener to register. |
---|---|
handler | The handler on which the listener should be invoked, or null if the listener should be invoked on the calling thread's looper. |
Unregisters an input device listener.
listener | The listener to unregister. |
---|