<uses-cấu hình>

cú pháp:
<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"] />
có trong:
<manifest>
mô tả:

Cho biết ứng dụng yêu cầu tính năng phần cứng và phần mềm nào. Ví dụ: một ứng dụng có thể chỉ định là yêu cầu bàn phím thực hoặc một thiết bị điều hướng cụ thể, chẳng hạn như bi xoay. Thông số kỹ thuật được dùng để tránh việc cài đặt ứng dụng trên các thiết bị không hỗ trợ.

Lưu ý: Hầu hết ứng dụng không dùng thẻ tệp kê khai này. Luôn hỗ trợ phương thức nhập bằng bàn phím di chuyển (D-pad) để trợ giúp người dùng khiếm thị và hỗ trợ các thiết bị có phương thức nhập bằng D-pad bên cạnh phương thức chạm hoặc thay thế phương thức chạm.

Để biết thông tin về cách hỗ trợ phương thức nhập bằng D-pad trong ứng dụng, hãy đọc bài viết Xử lý thao tác của bộ điều khiển. Nếu ứng dụng của bạn hoàn toàn không hoạt động được nếu không có màn hình cảm ứng, hãy sử dụng thẻ <uses-feature> để khai báo loại màn hình cảm ứng bắt buộc, từ "android.hardware.faketouch" cho sự kiện cảm ứng cơ bản đến các loại màn hình cảm ứng nâng cao hơn như "android.hardware.touchscreen.multitouch.jazzhand" để nhập dữ liệu riêng biệt từ nhiều ngón tay.

thuộc tính:
android:reqFiveWayNav
Ứng dụng có yêu cầu chức năng điều khiển thao tác 5 chiều hay không. Nếu có, giá trị sẽ là "true" và nếu không, giá trị sẽ là "false". Chức năng điều khiển 5 chiều có thể di chuyển nội dung được chọn theo chiều lên, xuống, sang phải hoặc sang trái, đồng thời cho phép gọi lựa chọn hiện tại. Đó có thể là bàn phím di chuyển (D-pad), bi xoay hoặc thiết bị khác.

Nếu yêu cầu chức năng điều khiển chiều nhưng không yêu cầu loại cụ thể nào, thì ứng dụng có thể đặt thuộc tính này thành "true" và bỏ qua thuộc tính reqNavigation. Tuy nhiên, nếu yêu cầu một loại chức năng điều khiển chiều cụ thể, thì ứng dụng có thể bỏ qua thuộc tính này và đặt reqNavigation.

android:reqHardKeyboard
Ứng dụng có yêu cầu bàn phím phần cứng hay không. Nếu có, giá trị sẽ là "true" và nếu không, giá trị sẽ là "false".
android:reqKeyboardType
Loại bàn phím mà ứng dụng yêu cầu, nếu có. Thuộc tính này không phân biệt giữa bàn phím phần cứng và bàn phím phần mềm. Nếu ứng dụng yêu cầu bàn phím phần cứng thuộc một loại nhất định, hãy chỉ định loại đó tại đây, đồng thời đặt thuộc tính reqHardKeyboard thành "true".

Giá trị phải là một trong các chuỗi sau:

Giá trị Mô tả
"undefined" Ứng dụng không yêu cầu bàn phím. Không xác định thông tin yêu cầu bàn phím. Đây là giá trị mặc định.
"nokeys" Ứng dụng không yêu cầu bàn phím.
"qwerty" Ứng dụng cần bàn phím QWERTY tiêu chuẩn.
"twelvekey" Ứng dụng yêu cầu một bàn phím gồm 12 phím, giống như trên đa số điện thoại, có các phím cho chữ số từ 0 đến 9 cùng dấu sao (*) và dấu thăng (#).
android:reqNavigation
Thiết bị điều hướng mà ứng dụng yêu cầu, nếu có. Giá trị phải là một trong các chuỗi sau:
Giá trị Mô tả
"undefined" Ứng dụng không yêu cầu bất kỳ loại chức năng điều khiển thao tác nào. Không xác định thông tin yêu cầu điều hướng. Đây là giá trị mặc định.
"nonav" Ứng dụng không yêu cầu chức năng điều khiển thao tác.
"dpad" Ứng dụng yêu cầu dùng D-pad để điều hướng.
"trackball" Ứng dụng cần có bi xoay để điều hướng.
"wheel" Ứng dụng yêu cầu bi lăn điều hướng.

Nếu yêu cầu chức năng điều khiển thao tác nhưng không yêu cầu loại cụ thể nào, thì ứng dụng có thể đặt thuộc tính reqFiveWayNav thành "true" thay vì đặt thuộc tính này.

android:reqTouchScreen
Loại màn hình cảm ứng mà ứng dụng yêu cầu, nếu có. Giá trị phải là một trong các chuỗi sau:
Giá trị Mô tả
"undefined" Ứng dụng không yêu cầu màn hình cảm ứng. Không xác định thông tin yêu cầu màn hình cảm ứng. Đây là giá trị mặc định.
"notouch" Ứng dụng không yêu cầu màn hình cảm ứng.
"stylus" Ứng dụng yêu cầu một màn hình cảm ứng hoạt động với bút cảm ứng.
"finger" Ứng dụng yêu cầu một màn hình cảm ứng hoạt động bằng ngón tay.

Lưu ý: Nếu ứng dụng của bạn yêu cầu phương thức nhập bằng cách chạm, bạn nên dùng thẻ <uses-feature> để khai báo loại màn hình cảm ứng cần có, bắt đầu bằng "android.hardware.faketouch" cho các sự kiện cảm ứng cơ bản.

ra mắt từ:
API cấp 3
xem thêm: