- Syntaxe :
<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"] />
- Contenu dans :
<manifest>
- Description :
Indique les fonctionnalités matérielles et logicielles requises par l'application. Par exemple, une application peut exiger l'utilisation d'un clavier physique ou d'un dispositif de navigation particulier, tel qu'un trackball. Cette spécification permet d'éviter l'installation de l'application sur les appareils sur lesquels elle ne fonctionne pas.
Remarque : La plupart des applications n'utilisent pas cette balise du fichier manifeste. Permettez toujours l'utilisation d'un pavé directionnel afin d'aider les utilisateurs malvoyants et d'étendre la compatibilité aux appareils qui fournissent un pavé directionnel en plus ou à la place d'un écran tactile.
Pour plus d'informations sur l'ajout d'un pavé directionnel dans votre application, consultez la section Gérer les actions de la manette. Si votre application ne peut absolument pas fonctionner sans écran tactile, utilisez plutôt la balise
<uses-feature>
pour déclarer le type d'écran tactile nécessaire. Les options vont de"android.hardware.faketouch"
pour les événements tactiles de base à des événements tactiles avancés comme"android.hardware.touchscreen.multitouch.jazzhand"
afin de permettre des saisies distinctes avec plusieurs doigts.- Attributs :
android:reqFiveWayNav
- Indique si l'application nécessite une commande de navigation à cinq sens.
"true"
si tel est le cas, et"false"
dans le cas contraire. Une commande à cinq sens permet de déplacer la sélection vers le haut, le bas, la droite ou la gauche, et permet également d'appeler la sélection actuelle. Il peut s'agir d'un pavé directionnel, d'un trackball ou d'un autre appareil.Si une application nécessite une commande directionnelle quelconque, elle peut définir cet attribut sur
"true"
et ignorer l'attributreqNavigation
. Toutefois, si elle nécessite un type particulier de commande directionnelle, elle peut ignorer cet attribut et définirreqNavigation
à la place. android:reqHardKeyboard
- Indique si l'application nécessite un clavier physique.
"true"
si tel est le cas, et"false"
dans le cas contraire. android:reqKeyboardType
- Type de clavier requis par l'application, le cas échéant.
Cet attribut ne fait pas la distinction entre les claviers physiques et virtuels. Si un clavier physique d'un certain type est requis, spécifiez-le ici et définissez également l'attribut
reqHardKeyboard
sur"true"
.Cette valeur doit correspondre à l'une des chaînes suivantes :
Valeur Description " undefined
"L'application ne nécessite pas de clavier. Aucun clavier obligatoire n'est défini. Il s'agit de la valeur par défaut. " nokeys
"L'application ne nécessite pas de clavier. " qwerty
"L'application nécessite un clavier QWERTY standard. " twelvekey
"L'application nécessite un clavier à 12 touches, comme celui de la plupart des téléphones, avec les chiffres 0
à9
, plus l'astérisque (*
) et le signe dièse (#
). android:reqNavigation
- Mécanisme de navigation requis par l'application, le cas échéant. Cette valeur doit correspondre à l'une des chaînes suivantes :
Valeur Description " undefined
"L'application ne nécessite aucun type de commande de navigation. Aucun élément de navigation obligatoire n'est défini. Il s'agit de la valeur par défaut. " nonav
"L'application ne nécessite aucune commande de navigation. " dpad
"L'application nécessite un pavé directionnel pour la navigation. " trackball
"L'application nécessite un trackball pour la navigation. wheel
L'application nécessite une molette de navigation. Si une application nécessite une commande de navigation quelconque, vous pouvez définir l'attribut
reqFiveWayNav
sur"true"
à la place. android:reqTouchScreen
- Type d'écran tactile requis par l'application, le cas échéant.
Cette valeur doit correspondre à l'une des chaînes suivantes :
Valeur Description undefined
L'application ne nécessite pas d'écran tactile Aucun écran tactile obligatoire n'est défini. Il s'agit de la valeur par défaut. " notouch
"L'application ne nécessite pas d'écran tactile. " stylus
"L'application nécessite un écran tactile qui fonctionne avec un stylet. " finger
"L'application nécessite un écran tactile qui fonctionne avec le doigt. Remarque : Si un certain type de saisie tactile est nécessaire pour votre application, utilisez plutôt la balise
<uses-feature>
pour déclarer le type d'écran tactile requis, en commençant avec"android.hardware.faketouch"
pour les événements tactiles de base.
- Première apparition :
- Niveau d'API 3
- Voir aussi :
-
- Attribut
configChanges
de l'élément<activity>
ConfigurationInfo
- Attribut
<uses-configuration>
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)"]]