<uses-configuration>

语法:
<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>
说明:
指示应用所需的硬件和软件功能。例如,应用可能会指定它需要物理键盘或特定的导航设备(如轨迹球)。该规范用于避免将应用安装在它无法正常运行的设备上。

注意:大多数应用都不会使用此清单标记。您应始终支持使用方向键输入,以便帮助视障的用户,并支持提供除触摸之外的方向键输入或者以方向键代替触摸输入的设备。如需了解如何在应用中支持方向键输入,请阅读启用焦点导航。如果您的应用在没有触摸屏的情况下完全无法正常运行,则改用 <uses-feature> 标记来声明所需的触摸屏类型,类型范围从 "android.hardware.faketouch"(表示基本的触摸样式事件)到更高级的触摸类型(如 "android.hardware.touchscreen.multitouch.jazzhand",表示多个手指的不同输入)。

属性:
android:reqFiveWayNav
应用是否需要五向导航控件 - 如果需要,则为“true”;如果不需要,则为“false”。五向控件可以将选择向上、向下、向右或向左移动,还提供调用当前选择的方式。它可以是方向键、轨迹球,也可以是其他设备。

如果应用需要方向控件(而不是特定类型的控件),则可以将此属性设置为“true”并忽略 reqNavigation 属性。不过,如果应用需要特定类型的方向控件,则可忽略此属性并改为设置 reqNavigation

android:reqHardKeyboard
应用是否需要硬件键盘 - 如果需要,则为“true”;如果不需要,则为“false”。
android:reqKeyboardType
应用所需的键盘类型(如果有)。此属性不区分硬件键盘和软件键盘。如果需要特定类型的硬件键盘,请在此处指定类型,并将 reqHardKeyboard 属性设置为“true”。

该值必须是以下字符串之一:

说明
undefined 应用不需要键盘。(未定义键盘要求。)这是默认值。
nokeys 应用不需要键盘。
qwerty 应用需要标准的 QWERTY 键盘。
twelvekey 应用需要十二键拨号键盘(如大多数手机上的此类键盘),带有从 09 数字的键以及星号 (*) 和井号 (#) 键。
android:reqNavigation
应用所需的导航设备(如果有)。该值必须是以下字符串之一:
说明
undefined 应用不需要任何类型的导航控件。(未定义导航要求。)这是默认值。
nonav 应用不需要导航控件。
dpad 应用需要用于导航的方向键。
trackball 应用需要用于导航的轨迹球。
wheel 应用需要导航轮。

如果应用需要导航控件,但控件的确切类型无关紧要,则应用可以将 reqFiveWayNav 属性设置为“true”(而不是设置此属性)。

android:reqTouchScreen
应用所需的触摸屏类型(如果有)。该值必须是以下字符串之一:
说明
undefined 应用不需要触摸屏。(未定义触摸屏要求。)这是默认值。
notouch 应用不需要触摸屏。
stylus 应用需要使用触控笔操作的触摸屏。
finger 应用需要可以用手指操作的触摸屏。

注意:如果您的应用需要某些类型的触摸输入,则应改用 <uses-feature> 标记来声明所需的触摸屏类型(从表示基本触摸样式事件的 "android.hardware.faketouch" 开始)。

引入于:
API 级别 3
另请参阅:
  • ConfigurationInfo