- 문법:
<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>
- 설명:
애플리케이션에 필요한 하드웨어 및 소프트웨어 기능을 나타냅니다. 예를 들어 애플리케이션에서 물리적 키보드 또는 특정 탐색 기기(예: 트랙볼)가 필요하다고 지정할 수 있습니다. 이 사양은 애플리케이션이 작동하지 않는 기기에 애플리케이션이 설치되지 않도록 하는 데 사용됩니다.
참고: 대부분의 앱은 이 매니페스트 태그를 사용하지 않습니다. 시각장애인을 지원하고 터치 이외에 또는 터치 대신 D패드 입력을 제공하는 기기를 지원하려면 항상 방향 패드(D패드) 입력을 지원하세요.
앱에서 D패드 입력을 지원하는 방법은 컨트롤러 작업 처리를 참고하세요. 터치스크린이 없으면 앱이 전혀 작동하지 않는 경우 대신
<uses-feature>
태그를 사용하여 필요한 터치스크린 유형(기본 터치 스타일 이벤트용"android.hardware.faketouch"
, 여러 손가락의 입력을 구분하는"android.hardware.touchscreen.multitouch.jazzhand"
와 같은 고급 터치 유형 등)을 선언합니다.- 속성:
android:reqFiveWayNav
- 애플리케이션에 5방향 탐색 컨트롤이 필요한지 여부입니다. 필요하면
"true"
, 필요하지 않으면"false"
입니다. 5방향 컨트롤은 선택 항목을 위, 아래, 오른쪽, 왼쪽으로 이동할 수 있는 컨트롤이며 현재 선택 항목을 호출할 수도 있습니다. 방향 패드(D패드), 트랙볼, 기타 기기일 수 있습니다.애플리케이션에 방향 컨트롤이 필요하지만 특정 유형의 컨트롤이 필요하지는 않은 경우 이 속성을
"true"
로 설정하고reqNavigation
속성을 무시할 수 있습니다. 그러나 특정 유형의 방향 컨트롤이 필요한 경우 이 속성을 무시하고 대신reqNavigation
을 설정할 수 있습니다. android:reqHardKeyboard
- 애플리케이션에 하드웨어 키보드가 필요한지 여부입니다. 필요하면
"true"
, 필요하지 않으면"false"
입니다. android:reqKeyboardType
- 애플리케이션에 필요한 키보드 유형입니다(있는 경우).
이 속성은 하드웨어 키보드와 소프트웨어 키보드를 구별하지 않습니다. 특정 유형의 하드웨어 키보드가 필요한 경우 여기에 유형을 지정하고
reqHardKeyboard
속성을"true"
로 설정합니다.값은 다음 문자열 중 하나여야 합니다.
값 설명 " undefined
"애플리케이션에 키보드가 필요하지 않습니다. 키보드 요구사항이 정의되어 있지 않습니다. 기본값입니다. " nokeys
"애플리케이션에 키보드가 필요하지 않습니다. " qwerty
"애플리케이션에 표준 QWERTY 키보드가 필요합니다. " twelvekey
"애플리케이션에 대부분의 휴대전화와 같이 숫자( 0
~9
), 별표(*
), 파운드(#
) 키가 포함된 12키 키보드가 필요합니다. android:reqNavigation
- 애플리케이션에 필요한 탐색 기기입니다(있는 경우). 값은 다음 문자열 중 하나여야 합니다.
값 설명 " undefined
"애플리케이션에 어떤 유형의 탐색 컨트롤도 필요하지 않습니다. 탐색 요구사항이 정의되어 있지 않습니다. 기본값입니다. " nonav
"애플리케이션에 탐색 컨트롤이 필요하지 않습니다. " dpad
"애플리케이션에 탐색을 위한 D패드가 필요합니다. " trackball
"애플리케이션에 탐색을 위한 트랙볼이 필요합니다. ' wheel
'애플리케이션에 탐색 휠이 필요합니다. 애플리케이션에 탐색 컨트롤이 필요하지만 정확한 컨트롤 유형이 중요하지 않은 경우 이 속성을 설정하는 대신
reqFiveWayNav
속성을"true"
로 설정할 수 있습니다. android:reqTouchScreen
- 애플리케이션에 필요한 터치스크린의 유형입니다(있는 경우).
값은 다음 문자열 중 하나여야 합니다.
값 설명 ' undefined
'애플리케이션에 터치스크린이 필요하지 않습니다. 터치스크린 요구사항이 정의되어 있지 않습니다. 기본값입니다. ' notouch
'애플리케이션에 터치스크린이 필요하지 않습니다. " stylus
"애플리케이션에 스타일러스로 작동하는 터치스크린이 필요합니다. " finger
"애플리케이션에 손가락으로 작동하는 터치스크린이 필요합니다. 참고: 앱에 몇 가지 유형의 터치 입력이 필요한 경우 대신
<uses-feature>
태그(기본 터치 스타일 이벤트의 경우"android.hardware.faketouch"
로 시작)를 사용해 필요한 터치스크린 유형을 선언하세요.
- 도입 수준:
- API 수준 3
- 참고 항목:
<uses-configuration>
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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)"]]