Android と PC の USB 接続で指定する PTP と MTP とは
アンドロイド端末と PC との接続について大まかなことを説明します。
さきにお断りしておきますが、この記事は USB の「プログラミング」のことではないのでご了承くださいませ。 この記事は PC に Android 端末を USB 接続して、端末のファイルを探したりする時の話です。
基本的にこうした外部機器との接続についてのトピックは、端末毎のカスタマイズが多くて、役に立たないことが多いので、 あれ?とおもったら、あなたがお使いの端末のマニュアルを見てください。
と、お断りしつつ、大まかなこと、基本的なことについてご説明します。
アンドロイドの USB サポート
アンドロイドの USB サポートについては、基本的に Android 3.1 (API レベル12) からです。
細かく言うと USB ホストモードとアクセサリモードがサポートされたのが 3.1 からで、USB アクセサリモードについてはアドオンライブラリとして 2.3.4 にバックポートされています。
ハードウェアのことで、メーカーによっていろいろと変わるので、細かくこれはこうということができないものですが、 要はサポートされたのは比較的新しいものだ、ということです。
PC との接続
PC とアンドロイドを繋ぐときには主にメディアデバイスとして接続する (Media device (MTP))、という方法と カメラとして接続する (Camera (PTP)) ことができます。
この他にも環境によっては「充電のみ」等のモードが設定されている場合があります。
ここでは MTP と PTP について取り上げます。
PTP はピクチャ・トランスファー・プロトコル
PTP は Picture Transfer Protocol の略で USB-IF で標準化された、デジタルカメラから USB 接続で PC あるいは周辺機器に画像を転送するためのプロトコルです。
Windows、Mac OS、Linux などでも広くサポートされています。
"カメラとして接続" すなわちプロトコルとして PTP を指定して Windows と接続すると、次のような自動再生ポップアップが表示されます (Windows 7 で自動再生のデフォルトを指定していない場合。以下同様)。
アイコンがカメラになってますね。
そしてエクスプローラからみると、"DCIM" (デジタルカメライメージ) と Pictures フォルダだけがみえます。
MTP はメディア・トランスファー・プロトコル
MTP は Media Transfer Protocol の略で、マイクロソフトによって策定されたものです。 Windows Media フレームワークの一部で、歴史的に Windows にどうやってメディアを取込むかとかということを主眼として発展してきた経緯があります。
後に USB-IF が MTP を PTP の公式な拡張として標準化しました。
"メディアデバイスとして接続" すなわちプロトコルとして MTP を指定して Windows と接続すると、次のような自動再生ポップアップが表示されます。
アイコンがスマートフォンになっています。
Ubuntu と接続する場合
前述の通り、もともと MTP はマイクロソフトが開発してきた経緯があるので Windows では MTP はネイティブにサポートされています。
このため USB (MTP) でアンドロイドを Windows に接続すれば、直ちに利用可能です。 しかしながら Ubuntu などでは MTP のサポートはネイティブでは行われていません。このため多くのアンドロイドデバイスでデフォルトになっている MTP で Ubuntu (Linux) に接続してもそのファイルがみえないことになります。
この場合 PTP に切り替えれば OK です。
尚、MTP と PTP の切り替えは、USB 接続時の通知メッセージから行うか、設定メニュー (Settings → Storage → メニューボタン) で USB コンピュータ接続を選択して行います。