X

<uses-feature>要素でフィルタリングする

AndroidManifest.xmlで使う<uses-feature>要素は、アプリケーションを使う前提となるデバイス、ソフトウェアの機能を指定します。カメラアプリであればハードウェア的にカメラが搭載されていないAndroid端末へインストールされても使うことができません。未対応デバイスへのインストールを防ぐための要素です。

Androidマーケットでは、Android端末のデバイス、ソフトウェアの機能を確認して<uses-feature>要素を元に事前にアプリケーション一覧をフィルタリングしてくれます。「ダウンロードしたが利用できない」を防ぐためにも、必須デバイス/機能がある場合は記載したほうがよいでしょう。

Android 2.3では以下の<uses-feature>要素が増えました。
NFCやVoIP、5本指タッチなど、非常にたくさんの機能が追加されたことがわかります。

  • android.hardware.audio.low_latency
  • android.hardware.camera.front
  • android.hardware.nfc
  • android.hardware.sensor.barometer
  • android.hardware.sensor.gyroscope
  • android.software.sip
  • android.software.sip.voip
  • android.hardware.touchscreen.multitouch.jazzhand

記入例
AndroidManifest.xml

<uses-feature android:name="ndroid.hardware.nfc" />

続きにAndroid2.3での一覧を用意しました。

uses-feature要素の詳細

機能種類 識別子 概要
Audio android.hardware.audio.low_latency 低レイテンシ(遅延量の少ない)Audio入出力デバイス
Bluetooth android.hardware.bluetooth Bluetooth機能
Camera android.hardware.camera カメラ。複数ある場合はディスプレイの反対側のカメラを利用する
Camera android.hardware.camera.autofocus オートフォーカス機能
Camera android.hardware.camera.flash フラッシュ機能
Camera android.hardware.camera.front フロントカメラ
Location android.hardware.location GPSやネットワーク、無線基地局など位置特定のための情報
Location android.hardware.location.network ネットワーク機能
Location android.hardware.location.gps GPS機能
Microphone android.hardware.microphone マイク機能
NFC android.hardware.nfc Near Field Communications(近接通信)デバイス
Sensors android.hardware.sensor.accelerometer 加速度計
Sensors android.hardware.sensor.barometer 気圧計
Sensors android.hardware.sensor.compass コンパス、地磁気センサ
Sensors android.hardware.sensor.gyroscope ジャイロセンサ
Sensors android.hardware.sensor.light 光センサ
Sensors android.hardware.sensor.proximity 近接センサ
Telephony android.hardware.telephony データ通信、電話機能
Telephony android.hardware.telephony.cdma CDMA通信網
Telephony android.hardware.telephony.gsm GMS通信網
Touchscreen ndroid.hardware.touchscreen タッチスクリーンデバイス
Touchscreen android.hardware.touchscreen.multitouch マルチタッチのスクリーン
Touchscreen android.hardware.touchscreen.multitouch.distinct マルチタッチかつ2本指を個別に認識可能
Touchscreen android.hardware.touchscreen.multitouch.jazzhand 5点以上のマルチタッチ
Wifi android.hardware.wifi Wifi機能
live wallpaper android.software.live_wallpaper Live壁紙を利用
SIP/VOIP android.software.sip SIPサービスを利用
SIP/VOIP android.software.sip.voip SIPベースのVoIPを利用

mhidaka: Software Engineerだよ。DroidKaigi Organizer / Androidと組込とRe:VIEW。techbooster主宰。mhidaka's writings http://booklog.jp/users/mhidaka 技術書典! http://techbookfest.org