Android API を使用して、テキスト ファイルを Android 搭載デバイスから USB ケーブル経由でコンピューターに転送するソリューションを探しています。USB ホストを見つけましたが、コンピューターが Android ホストのデバイスとして機能できないため、これを使用できません。
これを達成する方法について何か提案はありますか?
を使用してデバイスのステータスを継続的にチェックすることでこの問題を解決しましadb status-window
た。新しいデバイスが接続されると、adb pull
コマンドを使用して必要なファイルがコンピューターに転送されます。
ポータブル ソリューションを実現する (つまり、Android プラットフォームから独立して実行する) ために、ファイル 'adb.exe' と 'AdbWinApi.dll' をアプリケーションにコピーし、そこから adb を使用しました。
PCにインストールされたソフトウェアがUSB経由でAndroid携帯内のファイルにアクセスできる必要があるという同様の問題がありました。ここでの長い調査の後、私にとってはうまくいきました(これが最善の解決策であるかどうかはわかりませんが、うまくいきました)。Windows には Windows Portable Device(WPD) API があり、これを使用して USB 経由でデバイスの内容を列挙する (およびクライアントとデバイス間でファイルをコピーする) ことができます。
Java http://code.google.com/p/jmtp/にはいくつかの実装があり ます (うまく動作しますが、デバイスから PC へのコピー機能はサポートされていませんが、ソース コードでこれを行うためのサポートがいくつかあります)。もう 1 つは jusbpmp (グーグルリポジトリで利用可能)(誰かが十分に文書化され、維持されている実装を見つけた場合は共有してください)
しかし、jmtpがうまくいかなかったので(コピー関数ソースのコンパイル(64ビットOSの場合)に失敗しました)、C#プログラムを最初から作成して、デバイスからPCにファイルをコピーしました。ここに素晴らしいチュートリアルがあり ます https://github.com/geersch/WPD/blob/master/src/part-3/README.md