public final class USBMonitor
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
USBMonitor.OnDeviceConnectListener
USB機器の状態変更時のコールバックリスナー
|
static class |
USBMonitor.UsbControlBlock
control class
never reuse the instance when it closed
|
static class |
USBMonitor.UsbDeviceInfo |
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
ACTION_USB_DEVICE_ATTACHED |
| 构造器和说明 |
|---|
USBMonitor(android.content.Context context,
USBMonitor.OnDeviceConnectListener listener) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addDeviceFilter(DeviceFilter filter)
デバイスフィルターを追加
|
void |
addDeviceFilter(java.util.List<DeviceFilter> filters)
add device filters
|
void |
destroy()
Release all related resources,
never reuse again
|
void |
dumpDevices()
output device list to LogCat
|
int |
getDeviceCount()
return the number of connected USB devices that matched device filter
|
static USBMonitor.UsbDeviceInfo |
getDeviceInfo(android.content.Context context,
android.hardware.usb.UsbDevice device)
ベンダー名・製品名・バージョン・シリアルを取得する
#updateDeviceInfo(final UsbManager, final UsbDevice, final UsbDeviceInfo)のヘルパーメソッド
|
USBMonitor.UsbDeviceInfo |
getDeviceInfo(android.hardware.usb.UsbDevice device)
ベンダー名・製品名・バージョン・シリアルを取得する
|
static int |
getDeviceKey(android.hardware.usb.UsbDevice device)
デバイスキーを整数として取得
getDeviceKeyNameで得られる文字列のhasCodeを取得
ベンダーID, プロダクトID, デバイスクラス, デバイスサブクラス, デバイスプロトコルから生成
同種の製品だと同じデバイスキーになるので注意
|
static int |
getDeviceKey(android.hardware.usb.UsbDevice device,
boolean useNewAPI)
デバイスキーを整数として取得
getDeviceKeyNameで得られる文字列のhasCodeを取得
useNewAPI=falseで同種の製品だと同じデバイスキーになるので注意
|
static int |
getDeviceKey(android.hardware.usb.UsbDevice device,
java.lang.String serial,
boolean useNewAPI)
デバイスキーを整数として取得
getDeviceKeyNameで得られる文字列のhasCodeを取得
serialがnullでuseNewAPI=falseで同種の製品だと同じデバイスキーになるので注意
|
static java.lang.String |
getDeviceKeyName(android.hardware.usb.UsbDevice device)
USB機器毎の設定保存用にデバイスキー名を生成する。
|
static java.lang.String |
getDeviceKeyName(android.hardware.usb.UsbDevice device,
boolean useNewAPI)
USB機器毎の設定保存用にデバイスキー名を生成する。
|
static java.lang.String |
getDeviceKeyName(android.hardware.usb.UsbDevice device,
java.lang.String serial,
boolean useNewAPI)
USB機器毎の設定保存用にデバイスキー名を生成する。
|
java.util.List<android.hardware.usb.UsbDevice> |
getDeviceList()
return device list, return empty list if no device matched
|
java.util.List<android.hardware.usb.UsbDevice> |
getDeviceList(DeviceFilter filter)
return device list, return empty list if no device matched
|
java.util.List<android.hardware.usb.UsbDevice> |
getDeviceList(java.util.List<DeviceFilter> filters)
return device list, return empty list if no device matched
|
java.util.Iterator<android.hardware.usb.UsbDevice> |
getDevices()
get USB device list, without filter
|
boolean |
hasPermission(android.hardware.usb.UsbDevice device)
return whether the specific Usb device has permission
|
boolean |
isRegistered() |
USBMonitor.UsbControlBlock |
openDevice(android.hardware.usb.UsbDevice device)
指定したUsbDeviceをopenする
|
void |
register()
register BroadcastReceiver to monitor USB events
|
void |
removeDeviceFilter(DeviceFilter filter)
デバイスフィルターを削除
|
void |
removeDeviceFilter(java.util.List<DeviceFilter> filters)
remove device filters
|
boolean |
requestPermission(android.hardware.usb.UsbDevice device)
request permission to access to USB device
|
void |
setDeviceFilter(DeviceFilter filter)
set device filter
|
void |
setDeviceFilter(java.util.List<DeviceFilter> filters)
set device filters
|
void |
unregister()
unregister BroadcastReceiver
|
static USBMonitor.UsbDeviceInfo |
updateDeviceInfo(android.hardware.usb.UsbManager manager,
android.hardware.usb.UsbDevice device,
USBMonitor.UsbDeviceInfo _info)
ベンダー名・製品名・バージョン・シリアルを取得する
|
public static final java.lang.String ACTION_USB_DEVICE_ATTACHED
public USBMonitor(android.content.Context context,
USBMonitor.OnDeviceConnectListener listener)
public void destroy()
public void register()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void unregister()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic boolean isRegistered()
public void setDeviceFilter(DeviceFilter filter) throws java.lang.IllegalStateException
filter - java.lang.IllegalStateExceptionpublic void addDeviceFilter(DeviceFilter filter) throws java.lang.IllegalStateException
filter - java.lang.IllegalStateExceptionpublic void removeDeviceFilter(DeviceFilter filter) throws java.lang.IllegalStateException
filter - java.lang.IllegalStateExceptionpublic void setDeviceFilter(java.util.List<DeviceFilter> filters) throws java.lang.IllegalStateException
filters - java.lang.IllegalStateExceptionpublic void addDeviceFilter(java.util.List<DeviceFilter> filters) throws java.lang.IllegalStateException
filters - java.lang.IllegalStateExceptionpublic void removeDeviceFilter(java.util.List<DeviceFilter> filters) throws java.lang.IllegalStateException
filters - java.lang.IllegalStateExceptionpublic int getDeviceCount()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic java.util.List<android.hardware.usb.UsbDevice> getDeviceList()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic java.util.List<android.hardware.usb.UsbDevice> getDeviceList(java.util.List<DeviceFilter> filters) throws java.lang.IllegalStateException
filters - java.lang.IllegalStateExceptionpublic java.util.List<android.hardware.usb.UsbDevice> getDeviceList(DeviceFilter filter) throws java.lang.IllegalStateException
filter - java.lang.IllegalStateExceptionpublic java.util.Iterator<android.hardware.usb.UsbDevice> getDevices()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic final void dumpDevices()
public final boolean hasPermission(android.hardware.usb.UsbDevice device)
throws java.lang.IllegalStateException
device - java.lang.IllegalStateExceptionpublic boolean requestPermission(android.hardware.usb.UsbDevice device)
device - public USBMonitor.UsbControlBlock openDevice(android.hardware.usb.UsbDevice device) throws java.lang.SecurityException
device - java.lang.SecurityException - パーミッションがなければSecurityExceptionを投げるpublic static final java.lang.String getDeviceKeyName(android.hardware.usb.UsbDevice device)
device - nullなら空文字列を返すpublic static final java.lang.String getDeviceKeyName(android.hardware.usb.UsbDevice device,
boolean useNewAPI)
device - useNewAPI - public static final java.lang.String getDeviceKeyName(android.hardware.usb.UsbDevice device,
java.lang.String serial,
boolean useNewAPI)
device - nullなら空文字列を返すserial - UsbDeviceConnection#getSerialで取得したシリアル番号を渡す, nullでuseNewAPI=trueでAPI>=21なら内部で取得useNewAPI - API>=21またはAPI>=23のみで使用可能なメソッドも使用する(ただし機器によってはnullが返ってくるので有効かどうかは機器による)public static final int getDeviceKey(android.hardware.usb.UsbDevice device)
device - nullなら0を返すpublic static final int getDeviceKey(android.hardware.usb.UsbDevice device,
boolean useNewAPI)
device - useNewAPI - public static final int getDeviceKey(android.hardware.usb.UsbDevice device,
java.lang.String serial,
boolean useNewAPI)
device - nullなら0を返すserial - UsbDeviceConnection#getSerialで取得したシリアル番号を渡す, nullでuseNewAPI=trueでAPI>=21なら内部で取得useNewAPI - API>=21またはAPI>=23のみで使用可能なメソッドも使用する(ただし機器によってはnullが返ってくるので有効かどうかは機器による)public USBMonitor.UsbDeviceInfo getDeviceInfo(android.hardware.usb.UsbDevice device)
device - public static USBMonitor.UsbDeviceInfo getDeviceInfo(android.content.Context context, android.hardware.usb.UsbDevice device)
context - device - public static USBMonitor.UsbDeviceInfo updateDeviceInfo(android.hardware.usb.UsbManager manager, android.hardware.usb.UsbDevice device, USBMonitor.UsbDeviceInfo _info)
manager - device - _info -