構文:
<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