<uses-configuration>

syntax:
<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"] />
contained in:
<manifest>
description:
Indicates what hardware and software features the application requires. For example, an application might specify that it requires a physical keyboard or a particular navigation device, like a trackball. The specification is used to avoid installing the application on devices where it will not work.

If an application can work with different device configurations, it should include separate <uses-configuration> declarations for each one. Each declaration must be complete. For example, if an application requires a five-way navigation control, a touch screen that can be operated with a finger, and either a standard QWERTY keyboard or a numeric 12-key keypad like those found on most phones, it would specify these requirements with two <uses-configuration> elements as follows:

<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="qwerty" />
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="twelvekey" />
애플리케이션이 필요로 하는 하드웨어와 소프트웨어의 기능을 가리킨다. 예를 들어 애플리케이션이 물리적 키보드 또는 트랙볼 같은 특정 네비게이션 디바이스를 요구한다는 것을 지정할 수도 있다. 그 명세는 애플리케이션이 작동되지 않을 디바이스 상에 그것을 설치하는 것을 피하기 위해 사용된다.

만약 애플리케이션이 서로 다른 디바이스 설정들을 가지고 작업할 수 있다면, 그것은 각각에 대한 별도의 <uses-configuration> 선언을 포함해야 한다. 각각의 선언은 완전해야 한다. 예를 들어 만약 애플리케이션이 다섯 방향의 네비케이션 컨트롤과, 손가락을 사용해서 작동될 수 있는 터치 스크린, 그리고 표준 QWERTY키보드나 대부분의 폰에서 발견되는 것과 같은 12-key 숫자 키패드 중 하나를 요구한다면, 그것은 다음과 같은 두 개의 <uses-configuration> 엘리먼트를 사용해서 이러한 요구조건을 지정할 할 것이다.

<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="qwerty" />
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="twelvekey" />
attributes:
android:reqFiveWayNav
Whether or not the application requires a five-way navigation control "true" if it does, and "false" if not. A five-way control is one that can move the selection up, down, right, or left, and also provides a way of invoking the current selection. It could be a D-pad (directional pad), trackball, or other device.

If an application requires a directional control, but not a control of a particular type, it can set this attribute to "true" and ignore the reqNavigation attribute. However, if it requires a particular type of directional control, it can ignore this attribute and set reqNavigation instead.

애플리케이션이 다섯 방향의 네비게이션 컨트롤을 요구하는 지 여부 ? 만약 그렇다면 “참true” 아니라면 “거짓flase”이다. 다섯 방향 컨드롤은 선택을 위, 아래, 우측, 또는 좌측, 그리고 또한 현재 선택을 부르는 방법을 제공하는 것이다. 그것은 D-pad(방향 패드), 트랙볼, 또는 다른 디바이스가 될 수 있다.

만약 애플리케이션이 방향 컨트롤을 요구하지만 특정 타입의 컨트롤을 요구하지 않는다면, 그것은 이 애트리뷰트를 “참true”로 설정해서 reqNavigation 애트리뷰트를 무시할 수 있다. 하지만 만약 그것이 특정 타입의 방향 컨트롤을 요구한다면, 그것은 이 애트리뷰트를 무시하고 대신 reqNavigation 을 설정할 수 있다.

android:reqHardKeyboard
Whether or not the application requires a hardware keyboard "true" if it does, and "false" if not.
애플리케이션이 하드웨어 키보드를 요구하는 지 여부 ? 만약 그렇다면 “참true” 아니라면 “거짓flase”이다.
android:reqKeyboardType
The type of keyboard the application requires, if any at all. This attribute does not distinguish between hardware and software keyboards. If a hardware keyboard of a certain type is required, specify the type here and also set the reqHardKeyboard attribute to "true".

The value must be one of the following strings:

Value Description
"undefined" The application does not require a keyboard. (A keyboard requirement is not defined.) This is the default value.
"nokeys" The application does not require a keyboard.
"qwerty" The application requires a standard QWERTY keyboard.
"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.
만약 있다면, 애플리케이션이 요구하는 키보드 타입. 이 애트리뷰트는 하드웨어와 소프트웨어 키보드를 구별하지 않는다. 만약 특정 타입의 하드웨어 키보드가 요구된다면, 그 타입을 이곳에 지정하고 또한 reqHardKeyboard 애트리뷰트를 “참true”로 설정하라.

그 값은 아래의 문자열 중 하나가 되어야 한다.

설명
"undefined" 애플리케이션이 키보드를 요구하지 않는다.(키보드 요구조건이 정의되지 않다.) 이것이 디폴트 값이다.
"nokeys" 애플리케이션이 키보드를 요구하지 않는다.
"qwerty" 애플리케이션이 표준 QWERTY 키보드를 요구한다.
"twelvekey" 애플리케이션이 대부분의 폰에 있는 것과 비슷한 0부터 9까지의 숫자키에 더해 별표(*)와 파운드(#) 키를 가진12-key 키패드를 요구한다.
android:reqNavigation
The navigation device required by the application, if any. The value must be one of the following strings:
Value Description
"undefined" The application does not require any type of navigation control. (The navigation requirement is not defined.) This is the default value.
"nonav" The application does not require a navigation control.
"dpad" The application requires a D-pad (directional pad) for navigation.
"trackball" The application requires a trackball for navigation.
"wheel" The application requires a navigation wheel.

If an application requires a navigational control, but the exact type of control doesn't matter, it can set the reqFiveWayNav attribute to "true" rather than set this one.

만약 있다면, 애플리케이션에 의해 요구되는 네비게이션 디바이스. 그 값은 아래의 문자열 중 하나가 되어야 한다.
설명
"undefined" 애플리케이션이 어떤 타입의 네비게이션 컨트롤도 요구하지 않는다.(그 네비게이션 요구조건이 정의되지 않다.) 이것이 디폴트 값이다.
"nonav" 애플리케이션이 네비게이션 컨트롤을 요구하지 않는다.
"dpad" 애플리케이션이 네비게이션을 위한 D-pad(방향 패드)를 요구한다.
"trackball" 애플리케이션이 네비게이션을 위한 트랙볼을 요구한다.
"wheel" 애플리케이션이 네비게이션 휠을 요구한다.

만약 애플리케이션이 네비게이션 컨트롤을 요구하지만, 정확한 컨트롤 타입은 중요하지 않다면, 이 값을 설정하기 보다는 차라리 reqFiveWayNav애트리뷰트를 “참true”으로 설정할 수 있다.

android:reqTouchScreen
The type of touch screen the application requires, if any at all. The value must be one of the following strings:
Value Description
"undefined" The application doesn't require a touch screen. (The touch screen requirement is undefined.) This is the default value.
"notouch" The application doesn't require a touch screen.
"stylus" The application requires a touch screen that's operated with a stylus.
"finger" The application requires a touch screen that can be operated with a finger.
만약 있다면, 애플리케이션이 요구하는 터치 스크린 타입. 그 값은 아래의 문자열 중 하나가 되어야 한다.
설명
"undefined" 애플리케이션이 터치 스크린을 요구하지 않는다. (터치 스크린 요구조건이 정의되지 않다.) 이것이 디폴트 값이다.
"notouch" 애플리케이션이 터치 스크린을 요구하지 않는다.
"stylus" 애플리케이션이 스타일러스(stylus)를 사용해서 동작되는 터치 스크린을 요구한다.
"finger" 애플리케이션이 손가락을 사용해서 동작될 수 있는 터치 스크린을 요구한다.
introduced in:
API Level 3
see also:
  • ConfigurationInfo
  • ↑ Go to top