【Android】USB Hostで使用するためのvendor-idとproduct-idを調べる方法

【Android】USB Hostで使用するためのvendor-idとproduct-idを調べる方法

2015-10-01

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を挿した時にデバイスの認識がされる・・・はず。 信号の受信などは各デバイス毎に異なるのでそれぞれの機器のリファレンスなどを読んで下さい(´・ω・`)