80,350
社区成员
发帖
与我相关
我的任务
分享
if ( getPackageManager().hasSystemFeature("android.hardware.usb.host") ) {
Log.d("TEST", ">>>> FOUND !");
}
permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
registerReceiver(mUsbReceiver, filter);
registerReceiver(mUsbReceiver, new IntentFilter(UsbManager.ACTION_USB_DEVICE_DETACHED));
usbMgr = (UsbManager)getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = usbMgr.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
Log.d("TEST", ">>>> Devices : " + deviceList.size() + "!" );
while (deviceIterator.hasNext())
{
UsbDevice usd = deviceIterator.next();
if(usd.getVendorId() == vendorId && usd.getProductId() == productId) {
usbDevice = usd;
AnlayseUsbDev(usbMgr,usbDevice);
break;
} // end if
} // end while
}
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action)) {
synchronized (this) {
UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {
if(device != null){
//AnlayseUsbDev(device);
}
}
else {
Log.d("TEST", "permission denied for device " + device);
}
}
}
}
};