私はlibaumsをファイルの読み取りに使用しています。私はテストファイルからコピーするだけです。しかし、私はUSBを接続していない場合、私にエラーが発生します。配列インデックス外の長さ例外長さ= 0; index = 0
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
これは私のコードです。
private void discoverDevice() {
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
UsbMassStorageDevice[] devices = UsbMassStorageDevice.getMassStorageDevices(this);
device = devices[0];
UsbDevice usbDevice = getIntent().getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (usbDevice != null && usbManager.hasPermission(usbDevice)) {
Log.d(TAG, "received usb device via intent");
setupDevice();
} else {
PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
usbManager.requestPermission(device.getUsbDevice(), permissionIntent);
}
}
これは空の配列を返すため
感謝の:
とによってそれを呼び出す*** UsbMassStorageDevice.getMassStorageDevices(この); *** –
それがスローされます ' java.lang.ArrayIndexOutOfBoundsException'はusbを見つけることができません。したがって、 'device = devices [0];'はこの例外をスローします。 – codeRock
ありがとう、それは正常に動作します... addだけでこの例外がスローされます。 –