-
public final class USBMonitor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interfaceUSBMonitor.OnDeviceConnectListenerUSB機器の状態変更時のコールバックリスナー
public classUSBMonitor.UsbDeviceInfopublic final classUSBMonitor.UsbControlBlockcontrol classnever reuse the instance when it closed
-
Field Summary
Fields Modifier and Type Field Description public final static StringACTION_USB_DEVICE_ATTACHED
-
Constructor Summary
Constructors Constructor Description USBMonitor(Context context, USBMonitor.OnDeviceConnectListener listener)
-
Method Summary
Modifier and Type Method Description voiddestroy()Release all related resources,never reuse again synchronized voidregister()register BroadcastReceiver to monitor USB events synchronized voidunregister()unregister BroadcastReceiver synchronized booleanisRegistered()voidsetDeviceFilter(DeviceFilter filter)set device filter voidaddDeviceFilter(DeviceFilter filter)デバイスフィルターを追加 voidremoveDeviceFilter(DeviceFilter filter)デバイスフィルターを削除 voidsetDeviceFilter(List<DeviceFilter> filters)set device filters voidaddDeviceFilter(List<DeviceFilter> filters)add device filters voidremoveDeviceFilter(List<DeviceFilter> filters)remove device filters intgetDeviceCount()return the number of connected USB devices that matched device filter List<UsbDevice>getDeviceList()return device list, return empty list if no device matched List<UsbDevice>getDeviceList(List<DeviceFilter> filters)return device list, return empty list if no device matched List<UsbDevice>getDeviceList(DeviceFilter filter)return device list, return empty list if no device matched Iterator<UsbDevice>getDevices()get USB device list, without filter final voiddumpDevices()output device list to LogCat final booleanhasPermission(UsbDevice device)return whether the specific Usb device has permission synchronized booleanrequestPermission(UsbDevice device)request permission to access to USB device USBMonitor.UsbControlBlockopenDevice(UsbDevice device)指定したUsbDeviceをopenする final static StringgetDeviceKeyName(UsbDevice device)USB機器毎の設定保存用にデバイスキー名を生成する。ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成同種の製品だと同じキー名になるので注意 final static StringgetDeviceKeyName(UsbDevice device, boolean useNewAPI)USB機器毎の設定保存用にデバイスキー名を生成する。useNewAPI=falseで同種の製品だと同じデバイスキーになるので注意 final static StringgetDeviceKeyName(UsbDevice device, String serial, boolean useNewAPI)USB機器毎の設定保存用にデバイスキー名を生成する。この機器名をHashMapのキーにするUsbDeviceがopenしている時のみ有効ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成serialがnullや空文字でなければserialを含めたデバイスキー名を生成するuseNewAPI=trueでAPIレベルを満たしていればマニュファクチャ名, バージョン, コンフィギュレーションカウントも使う final static intgetDeviceKey(UsbDevice device)デバイスキーを整数として取得getDeviceKeyNameで得られる文字列のhasCodeを取得ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成同種の製品だと同じデバイスキーになるので注意 final static intgetDeviceKey(UsbDevice device, boolean useNewAPI)デバイスキーを整数として取得getDeviceKeyNameで得られる文字列のhasCodeを取得useNewAPI=falseで同種の製品だと同じデバイスキーになるので注意 final static intgetDeviceKey(UsbDevice device, String serial, boolean useNewAPI)デバイスキーを整数として取得getDeviceKeyNameで得られる文字列のhasCodeを取得serialがnullでuseNewAPI=falseで同種の製品だと同じデバイスキーになるので注意 USBMonitor.UsbDeviceInfogetDeviceInfo(UsbDevice device)ベンダー名・製品名・バージョン・シリアルを取得する static USBMonitor.UsbDeviceInfogetDeviceInfo(Context context, UsbDevice device)ベンダー名・製品名・バージョン・シリアルを取得する#updateDeviceInfo(final UsbManager, final UsbDevice, final UsbDeviceInfo)のヘルパーメソッド static USBMonitor.UsbDeviceInfoupdateDeviceInfo(UsbManager manager, UsbDevice device, USBMonitor.UsbDeviceInfo _info)ベンダー名・製品名・バージョン・シリアルを取得する -
-
Constructor Detail
-
USBMonitor
USBMonitor(Context context, USBMonitor.OnDeviceConnectListener listener)
-
-
Method Detail
-
destroy
void destroy()
Release all related resources,never reuse again
-
register
synchronized void register()
register BroadcastReceiver to monitor USB events
-
unregister
synchronized void unregister()
unregister BroadcastReceiver
-
isRegistered
synchronized boolean isRegistered()
-
setDeviceFilter
void setDeviceFilter(DeviceFilter filter)
set device filter
-
addDeviceFilter
void addDeviceFilter(DeviceFilter filter)
デバイスフィルターを追加
-
removeDeviceFilter
void removeDeviceFilter(DeviceFilter filter)
デバイスフィルターを削除
-
setDeviceFilter
void setDeviceFilter(List<DeviceFilter> filters)
set device filters
-
addDeviceFilter
void addDeviceFilter(List<DeviceFilter> filters)
add device filters
-
removeDeviceFilter
void removeDeviceFilter(List<DeviceFilter> filters)
remove device filters
-
getDeviceCount
int getDeviceCount()
return the number of connected USB devices that matched device filter
-
getDeviceList
List<UsbDevice> getDeviceList()
return device list, return empty list if no device matched
-
getDeviceList
List<UsbDevice> getDeviceList(List<DeviceFilter> filters)
return device list, return empty list if no device matched
-
getDeviceList
List<UsbDevice> getDeviceList(DeviceFilter filter)
return device list, return empty list if no device matched
-
getDevices
Iterator<UsbDevice> getDevices()
get USB device list, without filter
-
dumpDevices
final void dumpDevices()
output device list to LogCat
-
hasPermission
final boolean hasPermission(UsbDevice device)
return whether the specific Usb device has permission
-
requestPermission
synchronized boolean requestPermission(UsbDevice device)
request permission to access to USB device
-
openDevice
USBMonitor.UsbControlBlock openDevice(UsbDevice device)
指定したUsbDeviceをopenする
-
getDeviceKeyName
final static String getDeviceKeyName(UsbDevice device)
USB機器毎の設定保存用にデバイスキー名を生成する。ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成同種の製品だと同じキー名になるので注意
- Parameters:
device- nullなら空文字列を返す
-
getDeviceKeyName
final static String getDeviceKeyName(UsbDevice device, boolean useNewAPI)
USB機器毎の設定保存用にデバイスキー名を生成する。useNewAPI=falseで同種の製品だと同じデバイスキーになるので注意
-
getDeviceKeyName
final static String getDeviceKeyName(UsbDevice device, String serial, boolean useNewAPI)
USB機器毎の設定保存用にデバイスキー名を生成する。この機器名をHashMapのキーにするUsbDeviceがopenしている時のみ有効ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成serialがnullや空文字でなければserialを含めたデバイスキー名を生成するuseNewAPI=trueでAPIレベルを満たしていればマニュファクチャ名, バージョン, コンフィギュレーションカウントも使う
- Parameters:
device- nullなら空文字列を返すserial- UsbDeviceConnection#getSerialで取得したシリアル番号を渡す, nullでuseNewAPI=trueでAPI>=21なら内部で取得useNewAPI- API>=21またはAPI>=23のみで使用可能なメソッドも使用する(ただし機器によってはnullが返ってくるので有効かどうかは機器による)
-
getDeviceKey
final static int getDeviceKey(UsbDevice device)
デバイスキーを整数として取得getDeviceKeyNameで得られる文字列のhasCodeを取得ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成同種の製品だと同じデバイスキーになるので注意
- Parameters:
device- nullなら0を返す
-
getDeviceKey
final static int getDeviceKey(UsbDevice device, boolean useNewAPI)
デバイスキーを整数として取得getDeviceKeyNameで得られる文字列のhasCodeを取得useNewAPI=falseで同種の製品だと同じデバイスキーになるので注意
-
getDeviceKey
final static int getDeviceKey(UsbDevice device, String serial, boolean useNewAPI)
デバイスキーを整数として取得getDeviceKeyNameで得られる文字列のhasCodeを取得serialがnullでuseNewAPI=falseで同種の製品だと同じデバイスキーになるので注意
- Parameters:
device- nullなら0を返すserial- UsbDeviceConnection#getSerialで取得したシリアル番号を渡す, nullでuseNewAPI=trueでAPI>=21なら内部で取得useNewAPI- API>=21またはAPI>=23のみで使用可能なメソッドも使用する(ただし機器によってはnullが返ってくるので有効かどうかは機器による)
-
getDeviceInfo
USBMonitor.UsbDeviceInfo getDeviceInfo(UsbDevice device)
ベンダー名・製品名・バージョン・シリアルを取得する
-
getDeviceInfo
static USBMonitor.UsbDeviceInfo getDeviceInfo(Context context, UsbDevice device)
ベンダー名・製品名・バージョン・シリアルを取得する#updateDeviceInfo(final UsbManager, final UsbDevice, final UsbDeviceInfo)のヘルパーメソッド
-
updateDeviceInfo
static USBMonitor.UsbDeviceInfo updateDeviceInfo(UsbManager manager, UsbDevice device, USBMonitor.UsbDeviceInfo _info)
ベンダー名・製品名・バージョン・シリアルを取得する
-
-
-
-