- بناء الجملة:
<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>
- description:
يشير إلى ميزات الأجهزة والبرامج التي يتطلبها التطبيق. على سبيل المثال، قد يحدد أحد التطبيقات أنه يتطلب لوحة مفاتيح خارجية أو جهاز تنقل معين، مثل كرة التتبع. المواصفات هي يُستخدم لتجنب تثبيت التطبيق على الأجهزة التي لا يعمل فيها.
ملاحظة: لا تستخدم معظم التطبيقات علامة البيان هذه. دعم دائمًا للإدخال من خلال لوحة اتجاهات (لوحة التحكّم) لمساعدة الأشخاص الذين يعانون من عجز بصري للمستخدمين والأجهزة التي توفّر إدخال لوحة التحكّم بالإضافة إلى اللمس أو بدلاً منه.
بالنسبة للحصول على معلومات حول كيفية إتاحة إدخال لوحة التحكّم في تطبيقك، يُرجى الاطّلاع على مقالة إجراءات وحدة التحكّم في الاسم المعرِّف. في حال حذف لا يمكن أن يعمل تطبيقك مطلقًا بدون شاشة تعمل باللمس، لذا استخدِم العلامة
<uses-feature>
بدلاً من ذلك من أجل اذكر نوع الشاشة التي تعمل باللمس المطلوب، بدءًا من"android.hardware.faketouch"
للشاشات الأساسية. أحداث بنمط اللمس إلى أنواع لمس أكثر تقدمًا مثل"android.hardware.touchscreen.multitouch.jazzhand"
للحصول على إدخال مميز من أصابع متعددة- :
android:reqFiveWayNav
- ما إذا كان التطبيق يتطلب عنصر تحكُّم خماسيًا للتنقّل. من المهم
"true"
إذا كان الأمر كذلك، و"false"
إذا لم يكن كذلك. 5 طرق التحكم هو الذي يمكنه تحريك التحديد لأعلى أو لأسفل أو اليمين أو اليسار، أيضًا طريقة لاستدعاء التحديد الحالي. يمكن أن يكون لوحة الاتجاهات (لوحة التحكّم) أو كرة التعقّب أو غير ذلك من الأجهزةإذا احتاج أحد التطبيقات إلى عنصر تحكم توجيهي، وليس التحكم في نوعًا ما، فيمكنه تعيين هذه السمة على
"true"
وتجاهل السمةreqNavigation
. ومع ذلك، وإذا كانت تتطلب نوعًا معينًا من التحكم في الاتجاهات، فيمكنها تجاهل هذه السمة وضبطreqNavigation
بدلاً منها. android:reqHardKeyboard
- ما إذا كان التطبيق يتطلب لوحة مفاتيح خارجية. من المهم
"true"
إذا كان الأمر كذلك، و"false"
إذا لم يكن كذلك. android:reqKeyboardType
- نوع لوحة المفاتيح التي يتطلبها التطبيق، إن توفّر.
لا تميّز هذه السمة بين الأجهزة والبرامج
لوحات المفاتيح. إذا كانت هناك حاجة إلى لوحة مفاتيح خارجية من نوع معين،
حدِّد النوع هنا واضبط سمة
reqHardKeyboard
أيضًا إلى"true"
.يجب أن تكون القيمة إحدى السلاسل التالية:
القيمة الوصف " undefined
"لا يتطلب التطبيق لوحة مفاتيح. لم يتم تحديد متطلبات لوحة المفاتيح. هذه هي القيمة الافتراضية. " nokeys
"لا يتطلب التطبيق لوحة مفاتيح. " qwerty
"يتطلب التطبيق لوحة مفاتيح QWERTY قياسية. " twelvekey
"يتطلب التطبيق لوحة مفاتيح مكونة من اثني عشر مفتاحًا، مثل تلك الموجودة في معظم بمفاتيح للأرقام من 0
حتى9
، بالإضافة إلى نجمة (*
) ومفاتيح الجنيه (#
). android:reqNavigation
- جهاز التنقّل الذي يطلبه التطبيق، إن وُجد القيمة
يجب أن تكون واحدة من السلاسل التالية:
القيمة الوصف " undefined
"لا يتطلب التطبيق أي نوع من عناصر التحكم في التنقل. شرط التنقل غير محدد. هذه هي القيمة الافتراضية. " nonav
"لا يتطلب التطبيق عنصر تحكم في التنقل. " dpad
"يتطلب التطبيق لوحة التحكّم للتنقل. " trackball
"يتطلب التطبيق كرة تعقب للتنقل. " wheel
"يتطلب التطبيق عجلة تنقل. إذا كان أحد التطبيقات يتطلب عنصر تحكم في التنقل، ولكن نوع لا يهم، فيمكنها تعيين سمة
reqFiveWayNav
إلى"true"
بدلاً من تحديد هذا الخيار. android:reqTouchScreen
- نوع الشاشة التي تعمل باللمس يتطلّب التطبيق، إن توفّرت.
يجب أن تكون القيمة إحدى السلاسل التالية:
القيمة الوصف " undefined
"لا يتطلب التطبيق شاشة تعمل باللمس. متطلب الشاشة التي تعمل باللمس غير محدد. هذه هي القيمة الافتراضية. " notouch
"لا يتطلب التطبيق شاشة تعمل باللمس. " stylus
"يتطلب التطبيق شاشة تعمل باللمس تعمل بقلم شاشة. " finger
"يتطلب التطبيق شاشة تعمل باللمس تعمل بإصبع. ملاحظة: إذا كان هناك نوع من الإدخال باللمس مطلوبًا لتطبيقك، بدلاً من ذلك، يمكنك استخدام علامة
<uses-feature>
للإشارة إلى الشاشة التي تعمل باللمس المطلوبة الكتابة، بدءًا بـ"android.hardware.faketouch"
للأحداث الأساسية ذات نمط اللمس.
- تم تقديمها في:
- المستوى 3 من واجهة برمجة التطبيقات
- راجِع أيضًا:
-
configChanges
سمة<activity>
عنصرConfigurationInfo
<uses-configuration>
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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)"]]