- syntax:
android:reqFiveWayNav=["true" | "false"] android:reqHardKeyboard=["true" | "false"] android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"] android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"] android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] /> - contained in:
- description:
Indicates the hardware and software features the application requires. For example, an application might specify that it requires a physical keyboard or a particular navigation device, like a trackball. The specification is used to avoid installing the application on devices where it doesn't work.
Note: Most apps don't use this manifest tag. Always support input with a directional pad (D-pad) to assist sight-impaired users and support devices that provide D-pad input in addition to or instead of touch.
For information about how to support D-pad input in your app, read Handle controller actions. If your app absolutely can't function without a touchscreen, then instead use the
tag to declare the required touchscreen type, ranging from"android.hardware.faketouch"
for basic touch-style events to more advanced touch types such as"android.hardware.touchscreen.multitouch.jazzhand"
for distinct input from multiple fingers.- attributes:
android:reqFiveWayNav
- Whether the application requires a five-way navigation control. It's
"true"
if it does, and"false"
if not. A five-way control is one that can move the selection up, down, right, or left, and also provides a way of invoking the current selection. It can be a directional pad (D-pad), trackball, or other device.If an application requires a directional control, but not a control of a particular type, it can set this attribute to
"true"
and ignore thereqNavigation
attribute. However, if it requires a particular type of directional control, it can ignore this attribute and setreqNavigation
instead. android:reqHardKeyboard
- Whether the application requires a hardware keyboard. It's
"true"
if it does, and"false"
if not. android:reqKeyboardType
- The type of keyboard the application requires, if any.
This attribute doesn't distinguish between hardware and software
keyboards. If a hardware keyboard of a certain type is required,
specify the type here and also set the
reqHardKeyboard
attribute to"true"
.The value must be one of the following strings:
Value Description " undefined
"The application doesn't require a keyboard. A keyboard requirement isn't defined. This is the default value. " nokeys
"The application doesn't require a keyboard. " qwerty
"The application requires a standard QWERTY keyboard. " twelvekey
"The application requires a twelve-key keypad, like those on most phones, with keys for the digits from 0
through9
, plus star (*
) and pound (#
) keys. android:reqNavigation
- The navigation device required by the application, if any. The value
must be one of the following strings:
Value Description " undefined
"The application doesn't require any type of navigation control. The navigation requirement isn't defined. This is the default value. " nonav
"The application doesn't require a navigation control. " dpad
"The application requires a D-pad for navigation. " trackball
"The application requires a trackball for navigation. " wheel
"The application requires a navigation wheel. If an application requires a navigational control, but the exact type of control doesn't matter, it can set the
reqFiveWayNav
attribute to"true"
rather than setting this one. android:reqTouchScreen
- The type of touch screen the application requires, if any. The value must be one of the following strings:
- introduced in:
- API level 3
- see also:
-
configChanges
attribute of the
elementConfigurationInfo
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]