<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>
描述

指示应用程序所需的硬件和软件功能。例如,应用程序可能会指定它需要物理键盘或特定的导航设备,例如轨迹球。该规范用于避免在应用程序无法运行的设备上安装该应用程序。

注意:大多数应用不使用此清单标签。始终支持使用方向键 (D-pad) 进行输入,以帮助视障用户并支持除了触摸屏或替代触摸屏之外还提供 D-pad 输入的设备。

有关如何在您的应用中支持 D-pad 输入的信息,请阅读处理控制器操作。如果您的应用绝对无法在没有触摸屏的情况下运行,则改为使用<uses-feature>标签声明所需的触摸屏类型,范围从"android.hardware.faketouch"(用于基本的触摸式事件)到更高级的触摸类型,例如"android.hardware.touchscreen.multitouch.jazzhand"(用于多个手指的不同输入)。

属性
android:reqFiveWayNav
应用程序是否需要五向导航控件。如果需要,则为"true",否则为"false"。五向控件是可以向上、向下、向右或向左移动选择的控件,还可以提供调用当前选择的方法。它可以是方向键 (D-pad)、轨迹球或其他设备。

如果应用程序需要方向控件,但不需要特定类型的控件,则可以将此属性设置为"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
另请参阅