- sintaxis:
<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"] />
- se incluye en:
<manifest>
- descripción:
Indica las características de hardware y software que requiere la aplicación. Por ejemplo, una aplicación puede especificar que requiere un teclado físico o un dispositivo de navegación en particular, como una bola de seguimiento. La especificación se utiliza para evitar la instalación de la aplicación en dispositivos en los que no funcionará.
Nota: La mayoría de las apps no deberían usar esta etiqueta de manifiesto. Siempre debes admitir la entrada con un mando de dirección (pad direccional) para ayudar a los usuarios con discapacidad visual y garantizar la compatibilidad con los dispositivos que proporcionan entrada de pad direccional.
Si quieres obtener información para admitir la entrada de pad direccional en tu aplicación, consulta el artículo sobre Cómo administrar las acciones de los controles. Si tu app no puede funcionar sin una pantalla táctil, utiliza la etiqueta
<uses-feature>
para declarar el tipo de pantalla táctil requerido, que va desde"android.hardware.faketouch"
para tipos de eventos táctiles básicos hasta más avanzados, como"android.hardware.touchscreen.multitouch.jazzhand"
, para una entrada distinta de varios dedos.- atributos:
android:reqFiveWayNav
- Determina si la aplicación requiere un control de navegación de cinco direcciones. Es
"true"
si lo requiere y"false"
si no lo requiere. Un control de cinco direcciones es aquel que permite mover la selección hacia arriba, abajo, la derecha y la izquierda, y también proporciona una forma de invocar la selección actual. Puede ser un mando de dirección (pad direccional), una bola de seguimiento o algún otro dispositivo.Si una aplicación requiere un control de dirección, pero no uno de un determinado tipo, puedes configurar este atributo como
"true"
e ignorar el atributoreqNavigation
. Sin embargo, si requiere un tipo particular de control de dirección, puedes ignorar este atributo y configurarreqNavigation
en su lugar. android:reqHardKeyboard
- Determina si la aplicación requiere un teclado de hardware. Es
"true"
si lo requiere y"false"
si no lo requiere. android:reqKeyboardType
- Es el tipo de teclado que requiere la aplicación, si corresponde.
Este atributo no distingue entre teclados de hardware y software. Si se requiere un teclado de hardware de cierto tipo, especifica el tipo aquí y configura el atributo
reqHardKeyboard
como"true"
.El valor debe ser una de las siguientes cadenas:
Valor Descripción " undefined
"La aplicación no requiere un teclado. No se definió un requisito de teclado. Este es el valor predeterminado. " nokeys
"La aplicación no requiere un teclado. " qwerty
"La aplicación requiere un teclado QWERTY estándar. " twelvekey
"La aplicación requiere un teclado de doce teclas, como el de la mayoría de los teléfonos, con teclas para los dígitos del 0
al9
más las teclas de asterisco (*
) y numeral (#
). android:reqNavigation
- Es el dispositivo de navegación requerido por la aplicación, si lo hay. El valor debe ser una de las siguientes strings:
Valor Descripción " undefined
"La aplicación no requiere ningún tipo de control de navegación. No se definió el requisito de navegación. Este es el valor predeterminado. " nonav
"La aplicación no requiere un control de navegación. " dpad
"La aplicación requiere un pad direccional para la navegación. " trackball
"La aplicación requiere una bola de seguimiento para la navegación. " wheel
"La aplicación requiere una rueda de navegación. Si una aplicación requiere un control de navegación, pero el tipo exacto no importa, entonces, puedes configurar el atributo
reqFiveWayNav
como"true"
en lugar de este. android:reqTouchScreen
- El tipo de pantalla táctil que requiere la aplicación, si corresponde.
El valor debe ser una de las siguientes cadenas:
Valor Descripción " undefined
"La aplicación no requiere una pantalla táctil. El requisito de pantalla táctil no está definido. Este es el valor predeterminado. " notouch
"La aplicación no requiere una pantalla táctil. " stylus
"La aplicación requiere una pantalla táctil que funcione con una pluma stylus. " finger
"La aplicación requiere una pantalla táctil que se pueda utilizar con un dedo. Nota: Si tu app necesita algún tipo de entrada táctil, declara el tipo de pantalla táctil requerido con la etiqueta
<uses-feature>
, empezando por"android.hardware.faketouch"
para eventos básicos de estilo táctil.
- primera inclusión:
- Nivel de API 3
- consulta también:
-
- Atributo
configChanges
del elemento<activity>
ConfigurationInfo
- Atributo
<uses-configuration>
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# <uses-configuration\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cuses-configuration\n android:reqFiveWayNav=[\"true\" | \"false\"]\n android:reqHardKeyboard=[\"true\" | \"false\"]\n android:reqKeyboardType=[\"undefined\" | \"nokeys\" | \"qwerty\" | \"twelvekey\"]\n android:reqNavigation=[\"undefined\" | \"nonav\" | \"dpad\" | \"trackball\" | \"wheel\"]\n android:reqTouchScreen=[\"undefined\" | \"notouch\" | \"stylus\" | \"finger\"] /\u003e\n ```\n\ncontained in:\n: [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element)\n\ndescription:\n\n: Indicates the hardware and software features the application requires.\n For example, an application might specify that it requires a physical keyboard\n or a particular navigation device, like a trackball. The specification is\n used to avoid installing the application on devices where it doesn't work.\n\n **Note:** Most apps don't use this manifest tag.\n *Always* support input with a directional pad (D-pad) to assist sight-impaired\n users and support devices that provide D-pad input in addition to or instead of touch.\n\n For\n information about how to support D-pad input in your app, read [Handle controller actions](/develop/ui/views/touch-and-input/game-controllers/controller-input). If\n your app absolutely can't function without a touchscreen, then instead use the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element) tag to\n declare the required touchscreen type, ranging from `\"android.hardware.faketouch\"` for basic\n touch-style events to more advanced touch types such as `\"android.hardware.touchscreen.multitouch.jazzhand\"` for distinct input from multiple fingers.\n\nattributes:\n:\n\n `android:reqFiveWayNav`\n : Whether the application requires a five-way navigation control. It's\n `\"true\"` if it does, and `\"false\"` if not. A five-way\n control is one that can move the selection up, down, right, or left, and\n also provides a way of invoking the current selection. It can be a\n directional pad (D-pad), trackball, or other device.\n\n\n If an application requires a directional control, but not a control of a\n particular type, it can set this attribute to `\"true\"` and ignore\n the [reqNavigation](#nav) attribute. However,\n if it requires a particular type of directional control, it can ignore\n this attribute and set `reqNavigation` instead.\n\n `android:reqHardKeyboard`\n : Whether the application requires a hardware keyboard. It's\n `\"true\"` if it does, and `\"false\"` if not.\n\n `android:reqKeyboardType`\n : The type of keyboard the application requires, if any.\n This attribute doesn't distinguish between hardware and software\n keyboards. If a hardware keyboard of a certain type is required,\n specify the type here and also set the `reqHardKeyboard` attribute\n to `\"true\"`.\n\n\n The value must be one of the following strings:\n\n\n | Value | Description |\n |---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | \"`undefined`\" | The application doesn't require a keyboard. A keyboard requirement isn't defined. This is the default value. |\n | \"`nokeys`\" | The application doesn't require a keyboard. |\n | \"`qwerty`\" | The application requires a standard QWERTY keyboard. |\n | \"`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. |\n\n `android:reqNavigation`\n : The navigation device required by the application, if any. The value\n must be one of the following strings:\n\n | Value | Description |\n |---------------|--------------------------------------------------------------------------------------------------------------------------------------|\n | \"`undefined`\" | The application doesn't require any type of navigation control. The navigation requirement isn't defined. This is the default value. |\n | \"`nonav`\" | The application doesn't require a navigation control. |\n | \"`dpad`\" | The application requires a D-pad for navigation. |\n | \"`trackball`\" | The application requires a trackball for navigation. |\n | \"`wheel`\" | The application requires a navigation wheel. |\n\n\n If an application requires a navigational control, but the exact type of\n control doesn't matter, it can set the\n [reqFiveWayNav](#five) attribute to `\"true\"`\n rather than setting this one.\n\n `android:reqTouchScreen`\n : The type of touch screen the application requires, if any.\n The value must be one of the following strings:\n\n | Value | Description |\n |---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | \"`undefined`\" | The application doesn't require a touch screen. The touch screen requirement is undefined. This is the default value. |\n | \"`notouch`\" | The application doesn't require a touch screen. |\n | \"`stylus`\" | The application requires a touch screen that is operated with a stylus. |\n | \"`finger`\" | The application requires a touch screen that is operated with a finger. **Note:** If some type of touch input is required for your app, instead use the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element) tag to declare the required touchscreen type, beginning with `\"android.hardware.faketouch\"` for basic touch-style events. |\n\nintroduced in:\n: API level 3\n\nsee also:\n:\n - [configChanges](/guide/topics/manifest/activity-element#config) attribute of the [\u003cactivity\u003e](/guide/topics/manifest/activity-element) element\n - [ConfigurationInfo](/reference/android/content/pm/ConfigurationInfo)"]]