- Sintaxe:
<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"] />
- contido em:
<manifest>
- descrição:
Indica os recursos de hardware e software que o aplicativo exige. Por exemplo, um aplicativo pode especificar que exige um teclado físico ou um dispositivo de navegação específico, como um trackball. A especificação é usada para evitar a instalação do aplicativo em dispositivos em que ele não funciona.
Observação: a maioria dos apps não usa essa tag de manifesto. Sempre ofereça suporte à entrada com botão direcional para auxiliar usuários com deficiência visual e oferecer suporte a dispositivos com botão direcional além do toque ou em vez dele.
Para saber mais sobre como oferecer suporte à entrada por botão direcional no seu app, leia Gerenciar ações do controlador. Se o app não puder funcionar sem a tela touchscreen, use a tag
<uses-feature>
para declarar o tipo de tela touchscreen necessária, que varia de"android.hardware.faketouch"
para eventos básicos de toque a tipos mais avançados, como"android.hardware.touchscreen.multitouch.jazzhand"
para entrada distinta com vários dedos.- atributos:
android:reqFiveWayNav
- Define se o aplicativo exige um controle de navegação de cinco direções. Será
"true"
caso necessário e"false"
caso contrário. Um controle de cinco direções pode mover a seleção para cima, baixo, à direita ou à esquerda e também oferece uma maneira de invocar a seleção atual. Pode ser um botão direcional, trackball ou outro dispositivo.Se um app exigir um controle direcional, mas não de um tipo específico, ele pode definir esse atributo como
"true"
e ignorar o atributoreqNavigation
. No entanto, se exigir um tipo específico de controle direcional, ele pode ignorar este atributo e definirreqNavigation
. android:reqHardKeyboard
- Define se o aplicativo exige um teclado físico. Será
"true"
caso necessário e"false"
caso contrário. android:reqKeyboardType
- O tipo de teclado que o aplicativo exige, se houver.
Esse atributo não distingue teclados de hardware e de
software. Se um teclado de hardware de determinado tipo for necessário,
especifique o tipo nesse elemento e configure também o atributo
reqHardKeyboard
como"true"
.O valor precisa ser uma destas strings:
Valor Descrição " undefined
"O aplicativo não exige um teclado. Um requisito de teclado não foi definido. Esse é o valor padrão. " nokeys
"O aplicativo não exige um teclado. " qwerty
"O aplicativo exige um teclado QWERTY padrão. " twelvekey
"O aplicativo exige um teclado de doze teclas, como os da maioria dos smartphones, com teclas para os dígitos de 0
a9
, além das teclas asterisco (*
) e cerquilha (#
). android:reqNavigation
- O dispositivo de navegação exigido pelo aplicativo, se houver. O valor
precisa ser uma destas strings:
Valor Descrição " undefined
"O aplicativo não exige nenhum tipo de controle de navegação. O requisito de navegação não foi definido. Esse é o valor padrão. " nonav
"O aplicativo não exige um controle de navegação. " dpad
"O aplicativo exige um botão direcional para a navegação. " trackball
"O aplicativo exige um trackball para navegação. " wheel
"O aplicativo exige uma roda de navegação. Se um aplicativo exigir um controle de navegação, mas o tipo exato de controle não importar, ele pode definir o atributo
reqFiveWayNav
como"true"
, em vez de configurar esse atributo. android:reqTouchScreen
- O tipo de touchscreen que o aplicativo exige, se houver.
O valor precisa ser uma destas strings:
Valor Descrição " undefined
"O aplicativo não exige uma tela touchscreen. O requisito de touchscreen não foi definido. Esse é o valor padrão. " notouch
"O aplicativo não exige uma tela touchscreen. " stylus
"O aplicativo exige uma tela touchscreen que seja operada com uma stylus. " finger
"O aplicativo exige uma tela touchscreen que seja operada com um dedo. Observação: se algum tipo de entrada de toque for necessária para o app, use a tag
<uses-feature>
para declarar o tipo de touchscreen necessário, começando com"android.hardware.faketouch"
para eventos básicos de toque.
- introduzido no:
- Nível 3 da API
- confira também:
-
- Atributo
configChanges
do elemento<activity>
ConfigurationInfo
- Atributo
<uses-configuration>
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[null,null,["Última atualização 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)"]]