- syntax:
<uses-configuration 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:
<manifest>
- description:
- Indicates what 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 will not work.
Note: Most apps should not use this manifest tag. You should always support input with a directional pad (d-pad) in order 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 Enabling Focus Navigation. If your app absolutely cannot function without a touchscreen, then instead use the
<uses-feature>
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 or not the application requires a five-way navigation control
— "
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 could be a D-pad (directional 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 or not the application requires a hardware keyboard —
"
true
" if it does, and "false
" if not. android:reqKeyboardType
- The type of keyboard the application requires, if any at all.
This attribute does not 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 does not require a keyboard. (A keyboard requirement is not defined.) This is the default value. " nokeys
"The application does not 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 does not require any type of navigation control. (The navigation requirement is not defined.) This is the default value. " nonav
"The application does not require a navigation control. " dpad
"The application requires a D-pad (directional 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 set this one. android:reqTouchScreen
- The type of touch screen the application requires, if any at all.
The value must be one of the following strings:
Value Description " undefined
"The application doesn't require a touch screen. (The touch screen requirement is undefined.) This is the default value. " notouch
"The application doesn't require a touch screen. " stylus
"The application requires a touch screen that's operated with a stylus. " finger
"The application requires a touch screen that can be operated with a finger. Note: If some type of touch input is required for your app, you should instead use the
<uses-feature>
tag to declare the required touchscreen type, beginning with"android.hardware.faketouch"
for basic touch-style events.
- introduced in:
- API Level 3
- see also:
-
configChanges
attribute of the<activity>
element
ConfigurationInfo