Merge "clarification to the uses-configuration tag to discourage its use." into klp-docs
This commit is contained in:
@@ -6,18 +6,18 @@ parent.link=manifest-intro.html
|
||||
<!-- ##api level 3## see comment below -->
|
||||
|
||||
<!-- the "no___" values are nonsensical if they mean "doesn't work on devices with a
|
||||
keyboard / navigation control / touch screen." Dianne says that that's what they mean and
|
||||
that they therefore should be eliminated. Suchi says that they mean "doesn't require a
|
||||
keyboard / navigation control / touch screen." Dianne says that that's what they mean and
|
||||
that they therefore should be eliminated. Suchi says that they mean "doesn't require a
|
||||
keyboard / navigation control / touch screen to work." But then what does "undefined" mean?
|
||||
Seems like some API change is in the works, either eliminating the "no___" values or
|
||||
"undefined". Since it's unclear what the change will be, I've chosen to document the "no___"
|
||||
"undefined". Since it's unclear what the change will be, I've chosen to document the "no___"
|
||||
and "undefined" attributes using the same language, which is surely wrong but may make it
|
||||
easier to update the doc when the change is made. -->
|
||||
easier to update the doc when the change is made... Nov 2013, this still seems unresolved. -->
|
||||
|
||||
<dl class="xml">
|
||||
<dt>syntax:</dt>
|
||||
<dd><pre class="stx"><uses-configuration
|
||||
android:<a href="#five">reqFiveWayNav</a>=["true" | "false"]
|
||||
android:<a href="#five">reqFiveWayNav</a>=["true" | "false"]
|
||||
android:<a href="#hard">reqHardKeyboard</a>=["true" | "false"]
|
||||
android:<a href="#kbd">reqKeyboardType</a>=["undefined" | "nokeys" | "qwerty" | "twelvekey"]
|
||||
android:<a href="#nav">reqNavigation</a>=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]
|
||||
@@ -27,38 +27,35 @@ easier to update the doc when the change is made. -->
|
||||
<dd><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html"><manifest></a></code></dd>
|
||||
|
||||
<dt>description:</dt>
|
||||
<dd>Indicates what hardware and software features the application requires.
|
||||
For example, an application might specify that it requires a physical keyboard
|
||||
<dd>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.
|
||||
|
||||
<p>
|
||||
If an application can work with different device configurations, it
|
||||
should include separate {@code <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 {@code <uses-configuration>} elements as follows:
|
||||
</p>
|
||||
<p class="note"><strong>Note: Most apps should not use this manifest tag.</strong> You should
|
||||
<em>always</em> support input with a directional pad (d-pad) in order to assist sight-impaired
|
||||
users and support devices that provide d-pad input in addition to or instead of touch. For
|
||||
information about how to support d-pad input in your app, read <a href=
|
||||
"{@docRoot}guide/topics/ui/accessibility/apps.html#focus-nav">Enabling Focus Navigation</a>. If
|
||||
your app absolutely cannot function without a touchscreen, then instead use the <a href=
|
||||
"{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a> tag to
|
||||
declare the required touchscreen type, ranging from {@code "android.hardware.faketouch"} for basic
|
||||
touch-style events to more advanced touch types such as {@code
|
||||
"android.hardware.touchscreen.multitouch.jazzhand"} for distinct input from multiple fingers.</p>
|
||||
|
||||
<pre><uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
|
||||
android:reqKeyboardType="qwerty" />
|
||||
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
|
||||
android:reqKeyboardType="twelvekey" /></pre></dd>
|
||||
|
||||
<dt>attributes:</dt>
|
||||
<dd><dl class="attr">
|
||||
<dt><a name="five"></a>{@code android:reqFiveWayNav}</dt>
|
||||
<dd>Whether or not the application requires a five-way navigation control
|
||||
<dd>Whether or not the application requires a five-way navigation control
|
||||
— "{@code true}" if it does, and "{@code 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.
|
||||
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.
|
||||
|
||||
<p>
|
||||
If an application requires a directional control, but not a control of a
|
||||
particular type, it can set this attribute to "{@code true}" and ignore
|
||||
particular type, it can set this attribute to "{@code true}" and ignore
|
||||
the <code><a href="#nav">reqNavigation</a></code> attribute. However,
|
||||
if it requires a particular type of directional control, it can ignore
|
||||
this attribute and set {@code reqNavigation} instead.
|
||||
@@ -69,10 +66,10 @@ this attribute and set {@code reqNavigation} instead.
|
||||
"{@code true}" if it does, and "{@code false}" if not.</dd>
|
||||
|
||||
<dt><a name="kbd"></a>{@code android:reqKeyboardType}</dt>
|
||||
<dd>The type of keyboard the application requires, if any at all.
|
||||
This attribute does not distinguish between hardware and software
|
||||
<dd>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 {@code reqHardKeyboard} attribute
|
||||
specify the type here and also set the {@code reqHardKeyboard} attribute
|
||||
to "{@code true}".
|
||||
|
||||
<p>
|
||||
@@ -85,8 +82,8 @@ The value must be one of the following strings:
|
||||
<th>Description</th>
|
||||
</tr><tr>
|
||||
<td>"{@code undefined}"</td>
|
||||
<td>The application does not require a keyboard.
|
||||
(A keyboard requirement is not defined.)
|
||||
<td>The application does not require a keyboard.
|
||||
(A keyboard requirement is not defined.)
|
||||
This is the default value.</td>
|
||||
</tr><tr>
|
||||
<td>"{@code nokeys}"</td>
|
||||
@@ -96,14 +93,14 @@ The value must be one of the following strings:
|
||||
<td>The application requires a standard QWERTY keyboard.</td>
|
||||
</tr><tr>
|
||||
<td>"{@code twelvekey}"</td>
|
||||
<td>The application requires a twelve-key keypad, like those on most
|
||||
phones — with keys for the digits from {@code 0} through
|
||||
<td>The application requires a twelve-key keypad, like those on most
|
||||
phones — with keys for the digits from {@code 0} through
|
||||
{@code 9} plus star ({@code *}) and pound ({@code #}) keys.</td>
|
||||
</tr>
|
||||
</table></dd>
|
||||
|
||||
<dt><a name="nav"></a>{@code android:reqNavigation}</dt>
|
||||
<dd>The navigation device required by the application, if any. The value
|
||||
<dd>The navigation device required by the application, if any. The value
|
||||
must be one of the following strings:
|
||||
|
||||
<table>
|
||||
@@ -112,8 +109,8 @@ must be one of the following strings:
|
||||
<th>Description</th>
|
||||
</tr><tr>
|
||||
<td>"{@code undefined}"</td>
|
||||
<td>The application does not require any type of navigation control.
|
||||
(The navigation requirement is not defined.)
|
||||
<td>The application does not require any type of navigation control.
|
||||
(The navigation requirement is not defined.)
|
||||
This is the default value.</td>
|
||||
</tr><tr>
|
||||
<td>"{@code nonav}"</td>
|
||||
@@ -132,14 +129,14 @@ must be one of the following strings:
|
||||
|
||||
<p>
|
||||
If an application requires a navigational control, but the exact type of
|
||||
control doesn't matter, it can set the
|
||||
control doesn't matter, it can set the
|
||||
<code><a href="#five">reqFiveWayNav</a></code> attribute to "{@code true}"
|
||||
rather than set this one.
|
||||
</p></dd>
|
||||
|
||||
<dt><a name="touch"></a>{@code android:reqTouchScreen}</dt>
|
||||
<dd>The type of touch screen the application requires, if any at all.
|
||||
The value must be one of the following strings:
|
||||
The value must be one of the following strings:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
@@ -147,7 +144,7 @@ The value must be one of the following strings:
|
||||
<th>Description</th>
|
||||
</tr><tr>
|
||||
<td>"{@code undefined}"</td>
|
||||
<td>The application doesn't require a touch screen.
|
||||
<td>The application doesn't require a touch screen.
|
||||
(The touch screen requirement is undefined.)
|
||||
This is the default value.</td>
|
||||
</tr><tr>
|
||||
@@ -158,7 +155,14 @@ The value must be one of the following strings:
|
||||
<td>The application requires a touch screen that's operated with a stylus.</td>
|
||||
</tr><tr>
|
||||
<td>"{@code finger}"</td>
|
||||
<td>The application requires a touch screen that can be operated with a finger.</td>
|
||||
<td>The application requires a touch screen that can be operated with a finger.
|
||||
|
||||
<p class="note"><strong>Note:</strong> If some type of touch input is required for your app,
|
||||
you should instead use the
|
||||
<a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
|
||||
<uses-feature>}</a> tag to declare the required touchscreen
|
||||
type, beginning with {@code "android.hardware.faketouch"} for basic touch-style events.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table></dd>
|
||||
</dl></dd>
|
||||
@@ -172,7 +176,7 @@ The value must be one of the following strings:
|
||||
<ul>
|
||||
<li><code><a href="{@docRoot}guide/topics/manifest/activity-element.html#config">configChanges</a></code>
|
||||
attribute of the
|
||||
<code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code>
|
||||
<code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code>
|
||||
element</dd></li>
|
||||
<li>{@link android.content.pm.ConfigurationInfo}</li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user