Android で PC 用のデバイス(NFC リーダーやカードスキャナなど)を動かす時に Android 3.1 以降から対応している USB Host の機能を使ってデバイスから信号を受け取ることができる。 その時に vendor-id と product-id を device-filter.xml とかに記述しておかなければならないのだが、その時に調べ方がわからなかったのでメモ。
Windows での調べ方
「ブログラムとファイルの検索」のところに「デバイスマネージャ」と入力し、デバイスマネージャを起動する。 vendor-id と product-id を調べたいデバイスのところで「右クリック -> プロパティ」をクリックする 「詳細」タブを選択し、セレクトボックスの中から「ハードウェア ID」を選択する 下記のように「VID_0566」の 0566 が vendor-id、「PID_3107」の 3107 が product-id です。
あとは AndroidManifest.xml の
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
と書いて
「res/xml/device_filter.xml」に
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-device vendor-id="566" product-id="3107" />
</resources>
こんな風に追加してやればプラグアンドプレイっぽく USB を挿した時にデバイスの認識がされる・・・はず。 信号の受信などは各デバイス毎に異なるのでそれぞれの機器のリファレンスなどを読んで下さい(´・ω・`)