<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"] />
<manifest>
If an application can work with different device configurations, it 
should include separate <uses-configuration> declarations for 
each one.  Each declaration must be complete.  For example, if an application 
requires a five-way navigation control, a touch screen that can be operated 
with a finger, and either a standard QWERTY keyboard or a numeric 12-key
keypad like those found on most phones, it would specify these requirements
with two <uses-configuration> elements as follows:
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="qwerty" />
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="twelvekey" />android:reqFiveWayNavtrue" 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 
the reqNavigation attribute.  However,
if it requires a particular type of directional control, it can ignore
this attribute and set reqNavigation instead.
android:reqHardKeyboardtrue" if it does, and "false" if not.android:reqKeyboardTypereqHardKeyboard 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 through 
       9 plus star (*) and pound (#) keys. | 
android:reqNavigation| 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| 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. | 
configChanges
attribute of the
<activity> 
elementConfigurationInfo