Android デバイスがホストであるアプリケーションを作成しています。ユーザーが USB ドライブを Android デバイスに接続すると、アプリケーションが USB ドライブにいくつかのテキスト ファイルを書き込みます。テキスト ファイルのパスはUSB_DRIVE/Data/APP_NAME/myfile.txt
、USB ドライブ内のようになります。
アプリケーションは、特定の場所からテキスト ファイルを読み取ることもできる必要がありUSB_DRIVE/Data/APP_NAME
ます。フォルダー内のすべてのファイルを一覧表示でき、ユーザーがファイルを選択できる場合はさらに優れています。
公式のAndroid開発サイトでコードを見つけました
UsbInterface intf = device.getInterface(0);
UsbEndpoint endpoint = intf.getEndpoint(0);
UsbDeviceConnection connection = mUsbManager.openDevice(device);
connection.claimInterface(intf, forceClaim);
connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT);
バイト配列を使用して USB_DRIVE の特定のパスにファイルを書き込む方法がわかりません。
/storage/usb0/
参考までに: 私のデバイスにはまたはのようなパスはありません/storage/usbdisk0/
。内部/storage/
では、ファイル構造は次のようになります。
- 保管所
- エミュレートされた
- 0
- SD_CARD コンテンツ
- 遺産
- SD_CARD コンテンツ
- 0
- sdcard0 - SD_CARD コンテンツ
- エミュレートされた
私のテスト デバイスは Nexus 10 です。
ES ファイル エクスプローラー アプリを試してみましたが、このアプリを使用すると、SD_CARD から USB_DRIVE にファイルを正常に移動/コピーできます。つまり、OTG は正常に動作しており、アプリから USB_DRIVE へのファイルの読み取り/書き込みは実行可能です。ファイルを転送した後、ES はファイルのパスをusb://1002/myfile.txt
.
ESインテントまたは何かを使用してファイルを書き込み/移動/読み取りできれば、それも機能します。
または、機能を達成するのに役立つ FTP ソリューションがあれば、それを選びます。
ありがとうございました。