SDカードにデータをダンプし、次にデバイスがPCに接続されているときに(ディスクドライブモードで)データを読み取るPCに別のアプリケーションをダンプすることになっているアプリケーションを作成しています。私のHTCLegendには、充電のみ、HTC同期、ディスクドライブのいずれかを選択するダイアログがあります。
デバイスがPCに接続しているモードを設定する可能性はありますか、または少なくともユーザーにモードを切り替えるように求める意図はありますか?
SDカードにデータをダンプし、次にデバイスがPCに接続されているときに(ディスクドライブモードで)データを読み取るPCに別のアプリケーションをダンプすることになっているアプリケーションを作成しています。私のHTCLegendには、充電のみ、HTC同期、ディスクドライブのいずれかを選択するダイアログがあります。
デバイスがPCに接続しているモードを設定する可能性はありますか、または少なくともユーザーにモードを切り替えるように求める意図はありますか?
プログラムでモードを設定する方法は見つかりませんでしたが、システムが通知領域から呼び出すのと同じアクティビティを呼び出すことで、プログラムで設定メニューを表示できると思います。残念ながら、これはメーカー固有のようです。私の電話ではそうですcom.htc.android.psclient.SwitchUsbSettings
。
HTC デバイスでは、[アプリの管理] (USB が接続されていない状態) で ConnectToPC サービスを開き (ICS - おそらく Gingerbread にも適用されるため、覚えていません)、[データの消去] をクリックします。次に、USB を再び差し込むと、「二度と確認しない」オプションが利用可能になります。ご希望のモードを選択し、チェックボックスをオンにして同意します。
CompanionLink は、Android アプリで USB 同期を要求するとこれを行います。データを SD にフラッシュし、SD を USB 上のストレージ (「ディスク ドライブ」) としてエクスポートし、ユーザーが手動で Android アプリに信号を送るのを待ちます。 PC は SD の使用を終了し、SD の USB へのエクスポートを再度元に戻します。CompanionLink アプリは非常に使いにくいかもしれませんが、少なくともこの部分は (ほぼ) 信頼できます。
残念ながら、私は技術的な詳細を知りません。おそらく、これらの月のいずれかを自分で把握する必要があるでしょう. Android のドキュメントで牽引力が得られない場合は、これを実装するために Android で CompanionLink が何を行うかを調べることができます。上記のシーケンスは、(PC ベースの) Palm Desktop に対して USB 経由で同期するように構成されている場合です。
余談ですが、この非常に複雑なプロセスの理由は、SD カードの FS が直接アクセスされ、少なくとも現在使用されているカードの FAT FS が単一のクライアント (電話自体または USB) しかサポートできないことが原因のようです。SDへの同時共有アクセスが可能であれば非常に便利ですが、これにはAndroidの深い変更が必要になる可能性があります.
HTC One M8 でこの問題を抱えている人にとって、これは少し的外れですが、既成概念にとらわれずに考える必要があります。USB接続により、デバイスが充電されました。それだけです。
解決策は、別の USB ケーブル、Battery Doctor と呼ばれるアプリケーションのアンインストール (明らかにバッテリーに関するすべてを管理するのが好き)、および USB ネットワーク設定 - スマート ネットワーク共有をオンにすることでした...一見無関係ですが、この組み合わせファイル、連絡先、設定を管理およびバックアップするために、Android 用の MobileGo に接続しました。
これが誰かに役立つことを願っています。
はい。Android では、デバイスが PC に接続されているときに、デバイスの USB モードの動作を変更する方法があります。Motorola Milestone [2.1 を実行] を使用し、次のモードを切り替えることができました: PC Suite [Motorola が開発]、MemoryCardAccess、Charge のみ。携帯電話のメモリにアクセスする必要がある場合は、デバイスで「USB Debugging Mode」をオンにする必要があると思います。よくわかりませんが、便利かもしれません!!