- Home Startseite ホーム 主页 首頁
- SDK
- Dev Guide Handbuch Guía Guide Guida 開発ガイド 开发人员指南 開發指南
- Reference Referenz Referencia Référence Riferimento リファレンス 参考 參考資料
- Resources
- Videos ビデオ
- Blog ブログ 博客 網誌

Android.com

The AndroidManifest.xml File >

# <uses-configuration>

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.

  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" />

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 the `reqNavigation` attribute. However, if it requires a particular type of directional control, it can ignore this attribute and set `reqNavigation` 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` through `9` 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.

introduced in:
  API Level 3
see also:
  - `configChanges` attribute of the `<activity>` element
- `ConfigurationInfo`

↑ Go to top

← Back to The AndroidManifest.xml File