файл ввода / вывода на установленном устройстве хранения USB в режиме USB-хосте (Android 3.1 и UP)

Хорошо, так что у меня есть USB ...

Таблетка Android 3.1 (вкладка Acer Iconia, которая отлично подходит кстати), которую я могу использовать с Android USB API для подключения с USB-устройством для хранения USB (простой USB-накопитель).

Я использую режим USB-хоста, найти Устройство, получите разрешение для подключения к нему (используя BroadCastreceiver). Все работает отлично. Проблема в том, что я точно не знаю, что делать для того, чтобы скопировать файл из внешнего каталога хранения на палку USB-памяти.

Это wh У меня пока я до сих пор:

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) {

                    // Got to a point where I should set up connection
                    // I'm setting up a very simple connection, just want some file transfer

                    UsbInterface intf = device.getInterface(0);
                    UsbEndpoint endpoint = intf.getEndpoint(0);
                    UsbDeviceConnection connection = UsbManager.openDevice(device);

                    if (connection.claimInterface(intf, true)) {
                        UtilsAndDialogs.print(getApplicationContext(), "Connected to device");

                        // Copy file to USB...

                    } else
                        UtilsAndDialogs.print(getApplicationContext(), "Could not connect!");
                }
            } else {
                UtilsAndDialogs.print(getApplicationContext(), "Permission denied");
                Log.d(UtilsAndDialogs.LOG_TAG, "Permission denied for device " + device);
            }
        }
    } 
};

Я прочитал документацию на Android dev USB-хост , но это не очень явно, и я нашел довольно хорошее учебное пособие Учебное пособие по хостированию Android - abstest Он использует асинхронное общение.

Я просто хочу знать, как я должен настроить соединение и использовать конечную точку (я не получил часть конечной точки, почему они необходимы), чтобы просто иметь возможность создать новый файл на устройстве хранения USB Содержимое другого файла там, возможно, использует метод Bulktransfer ().

Любые подсказки или указатели на более явную документацию были бы очень оценены.

Спасибо

9
задан Shree 8 February 2018 в 03:18
поделиться