構文:
<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-pad)による入力を必ずサポートしてください。また、タップに加えて(あるいはタップの代わりに)D-pad による入力が可能なデバイスをサポートする必要もあります。D-pad による入力をアプリでサポートする方法については、フォーカス ナビゲーションの有効化をご覧ください。タッチスクリーンなしではアプリが動作できない場合は、代わりに <uses-feature> タグを使用して、必要なタッチスクリーンのタイプ(基本的なタップスタイルのイベント用の "android.hardware.faketouch" や、複数の指による入力用の "android.hardware.touchscreen.multitouch.jazzhand" のようなより高度なタップタイプなど)を宣言します。

属性:
android:reqFiveWayNav
アプリで 5 方向ナビゲーション コントロールが必要かどうかを指定します。必要な場合は「true」、そうでない場合は「false」に設定します。5 方向コントロールは、選択を上下左右に移動でき、現在の選択を確定することもできるコントロールです。D-pad(十字キー)、トラックボールなどのデバイスは 5 方向コントロールです。

アプリで方向コントロールが必要なものの、特定のタイプのコントロールは必要でない場合は、この属性を「true」に設定して reqNavigation 属性を無視できます。ただし、特定のタイプの方向コントロールが必要な場合は、この属性を無視して、代わりに reqNavigation を設定できます。

android:reqHardKeyboard
アプリでハードウェア キーボードが必要かどうかを指定します。必要な場合は「true」、そうでない場合は「false」に設定します。
android:reqKeyboardType
アプリで必要なキーボードのタイプ(存在する場合)。この属性は、ハードウェア キーボードとソフトウェア キーボードを区別しません。特定のタイプのハードウェア キーボードが必要な場合は、この属性でタイプを指定します。また、reqHardKeyboard 属性を「true」に設定します。

値には次のいずれかの文字列を指定する必要があります。

説明
undefined アプリでキーボードが不要(キーボードの要件が定義されていない)。これがデフォルト値です。
nokeys アプリでキーボードが不要。
qwerty アプリで標準の QWERTY キーボードが必要。
twelvekey ほとんどの電話に搭載されているような、09 の数字キー、* キー、# キーからなる 12 キーのキーパッドがアプリで必要。
android:reqNavigation
アプリで必要なナビゲーション デバイス(存在する場合)。値には次のいずれかの文字列を指定する必要があります。
説明
undefined アプリでどのタイプのナビゲーション コントロールも不要(ナビゲーションの要件が定義されていない)。これがデフォルト値です。
nonav アプリでナビゲーション コントロールが不要。
dpad アプリでナビゲーション用の D-pad(十字キー)が必要。
trackball アプリでナビゲーション用のトラックボールが必要。
wheel アプリでナビゲーション ホイールが必要。

アプリでナビゲーション コントロールが必要なものの、その正確なタイプは重要でない場合は、この属性を設定する代わりに、reqFiveWayNav 属性を「true」に設定します。

android:reqTouchScreen
アプリで必要なタッチ スクリーンのタイプ(存在する場合)。値には次のいずれかの文字列を指定する必要があります。
説明
undefined アプリでタッチ スクリーンが不要(タッチ スクリーンの要件が定義されていない)。これがデフォルト値です。
notouch アプリでタッチ スクリーンが不要。
stylus アプリで、タッチペンによって操作するタッチ スクリーンが必要。
finger アプリで、指によって操作できるタッチ スクリーンが必要。

注: アプリでなんらかのタップ入力が必要な場合は、<uses-feature> タグを使用して必要なタッチスクリーンのタイプ(基本的なタップスタイルのイベントの場合は "android.hardware.faketouch" で始まります)を宣言する必要があります。

導入時の API レベル:
API レベル 3
関連項目:
  • ConfigurationInfo