<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>
description:

ระบุฟีเจอร์ของฮาร์ดแวร์และซอฟต์แวร์ที่แอปพลิเคชันต้องการ ตัวอย่างเช่น แอปพลิเคชันอาจระบุว่าต้องใช้แป้นพิมพ์จริง หรืออุปกรณ์นำทางที่เฉพาะเจาะจง เช่น แทร็กบอล ข้อกำหนดเฉพาะคือ เพื่อหลีกเลี่ยงการติดตั้งแอปพลิเคชันบนอุปกรณ์ที่ใช้งานไม่ได้

หมายเหตุ: แอปส่วนใหญ่ไม่ได้ใช้แท็กไฟล์ Manifest นี้ รองรับการป้อนข้อมูลด้วยปุ่มบังคับทิศทาง (D-pad) เพื่อช่วยผู้ที่มีความบกพร่องทางสายตาทุกครั้ง ผู้ใช้และอุปกรณ์ที่รองรับซึ่งมีอินพุต D-pad นอกเหนือจากหรือแทนการสัมผัส

สำหรับ ข้อมูลเกี่ยวกับวิธีรองรับการป้อนข้อมูล D-pad ในแอปที่หัวข้อจัดการการทำงานของตัวควบคุม ถ้า แอปจะทำงานไม่ได้หากไม่มีหน้าจอสัมผัส ให้ใช้แท็ก <uses-feature> แทนเพื่อ ประกาศประเภทหน้าจอสัมผัสที่จำเป็น โดยมีตั้งแต่ "android.hardware.faketouch" สำหรับแบบพื้นฐาน เหตุการณ์รูปแบบการแตะไปจนถึงประเภทการแตะขั้นสูงขึ้น เช่น "android.hardware.touchscreen.multitouch.jazzhand" สำหรับการป้อนข้อมูลที่แตกต่างกันจากหลากหลายนิ้ว

ดังนี้
android:reqFiveWayNav
แอปพลิเคชันต้องใช้การควบคุมการนำทางแบบ 5 ทิศทางหรือไม่ ตอนนี้ "true" หากมี และ "false" หากไม่เป็นเช่นนั้น 5 ทิศทาง มีตัวควบคุมที่สามารถย้ายการเลือกขึ้น ลง ขวา หรือซ้าย และ จะระบุวิธีเรียกใช้รายการที่เลือกปัจจุบันด้วย อาจเป็น แป้นบังคับทิศทาง (D-pad) แทร็กบอล หรืออุปกรณ์อื่นๆ

หากแอปพลิเคชันต้องการการควบคุมทิศทาง แต่ไม่ใช่การควบคุม ประเภทที่เจาะจง ก็จะตั้งค่าแอตทริบิวต์นี้เป็น "true" และละเว้นได้ reqNavigation อย่างไรก็ตาม ถ้าต้องใช้การควบคุมทิศทาง ประเภทใดประเภทหนึ่ง เครื่องอาจเพิกเฉย แอตทริบิวต์นี้และตั้งค่า reqNavigation แทน

android:reqHardKeyboard
แอปพลิเคชันต้องใช้แป้นพิมพ์ที่เป็นฮาร์ดแวร์หรือไม่ ตอนนี้ "true" หากมี และ "false" หากไม่เป็นเช่นนั้น
android:reqKeyboardType
ประเภทแป้นพิมพ์ที่แอปพลิเคชันต้องการ (หากมี) แอตทริบิวต์นี้ไม่แยกแยะระหว่างฮาร์ดแวร์กับซอฟต์แวร์ แป้นพิมพ์ หากจำเป็นต้องใช้แป้นพิมพ์ที่เป็นฮาร์ดแวร์บางประเภท ระบุประเภทที่นี่และตั้งค่าแอตทริบิวต์ reqHardKeyboard ไปยัง "true"

ค่าต้องเป็นสตริงใดสตริงหนึ่งต่อไปนี้

ค่า คำอธิบาย
"undefined" แอปพลิเคชันไม่ต้องใช้แป้นพิมพ์ ไม่ได้ระบุข้อกำหนดสำหรับแป้นพิมพ์ นี่คือค่าเริ่มต้น
"nokeys" แอปพลิเคชันไม่ต้องใช้แป้นพิมพ์
"qwerty" แอปพลิเคชันต้องใช้แป้นพิมพ์ QWERTY มาตรฐาน
"twelvekey" แอปพลิเคชันนี้ต้องการแป้นกดร่วม 12 ปุ่ม เช่นเดียวกับแป้นต่างๆ โทรศัพท์ที่มีคีย์สำหรับตัวเลขตั้งแต่ 0 ถึง 9 บวกแป้นดาว (*) และสี่เหลี่ยม (#)
android:reqNavigation
อุปกรณ์นำทางที่แอปพลิเคชันต้องใช้ (หากมี) ค่า ต้องเป็นสตริงใดสตริงหนึ่งต่อไปนี้
ค่า คำอธิบาย
"undefined" แอปพลิเคชันนี้ไม่ต้องใช้การควบคุมการนำทางประเภทใดเลย ไม่ได้กำหนดข้อกำหนดการนำทาง นี่คือค่าเริ่มต้น
"nonav" แอปพลิเคชันไม่ต้องใช้ตัวควบคุมการนำทาง
"dpad" แอปพลิเคชันต้องใช้ D-pad สำหรับการนำทาง
"trackball" แอปพลิเคชันต้องใช้แทร็กบอลสำหรับการนำทาง
"wheel" แอปพลิเคชันต้องใช้วงล้อการนำทาง

หากแอปพลิเคชันต้องใช้การควบคุมการนำทาง แต่ประเภท ควบคุมได้ทุกอย่าง จึงสามารถตั้งค่า แอตทริบิวต์ reqFiveWayNav เป็น "true" แทนการตั้งค่าการตั้งค่านี้

android:reqTouchScreen
ประเภทหน้าจอสัมผัสที่แอปพลิเคชันต้องการ (หากมี) ค่าต้องเป็นสตริงใดสตริงหนึ่งต่อไปนี้
ค่า คำอธิบาย
"undefined" แอปพลิเคชันไม่ต้องใช้หน้าจอสัมผัส ไม่ได้ระบุข้อกำหนดหน้าจอสัมผัส นี่คือค่าเริ่มต้น
"notouch" แอปพลิเคชันไม่ต้องใช้หน้าจอสัมผัส
"stylus" แอปพลิเคชันต้องใช้หน้าจอสัมผัสที่ทำงานด้วยสไตลัส
"finger" แอปพลิเคชันต้องใช้หน้าจอสัมผัสที่ทำงานด้วยนิ้ว

หมายเหตุ: หากแอปของคุณต้องใช้การป้อนข้อมูลด้วยการสัมผัสบางประเภท ให้ใช้ แท็ก <uses-feature> เพื่อประกาศว่าต้องใช้หน้าจอสัมผัส ประเภท ขึ้นต้นด้วย "android.hardware.faketouch" สำหรับกิจกรรมแบบสัมผัสพื้นฐาน

เปิดตัวใน
API ระดับ 3
ดูเพิ่มเติม