2016-11-10 17 views
1

Androidデバイスに実装されているUSBクラスのサポートはどこですか?Androidのバージョンまたはチップセットのレベルはどこですか?USBクラスon android

つまり、特定のスマートフォンがたとえばUVCクラスをサポートしているかどうかを知りたい場合、これに対する答えを知るにはチップセットまたはAndroidのバージョンを確認する必要がありますか?

+0

Android端末に接続されたUSBクライアントとして特定のUSBデバイスクラスを使用する場合は、Android端末ではUSBデバイスと通信するためのドライバが必要です。 AFAIKドライバはAndroid/Linuxカーネルに存在しなければなりません。残念ながら、同じAndroidバージョンの各デバイスのカーネルは、類似していますが、同じではありません(各メーカーがそれを変更するため)。したがって、USBデバイスがサポートされているかどうかは、スマートフォンごとに異なります。 – Robert

+0

本当に助かりました。この情報をベンダーから入手する方法があるかどうか知っていますか、このような情報を広告していますか? – Udi

+0

私はそれをテストしていませんが、この質問はカーネルドライバの一覧表示に役立つかもしれません:[私のAndroidシステム上のすべてのアクティブなカーネルドライバのリストを入手するにはどうすればいいですか?](http://stackoverflow.com/questions/8901631/howアクティブなカーネルドライバを私のアンドロイドシステム上で実行することができます。 – Robert

答えて

1

デバイスにUSBホスト機能があるかどうかを判断する公式の方法は、関連するシステム機能を使用することです。

理想的には<uses-feature>要素をマニフェストに追加して、機能に興味があることを示します。その機能が絶対に必要ない場合は、属性としてandroid:required="false"を追加してください。

あなたは android:required="false"と一緒に行った場合、あなたは、デバイスが実行時にUSBホストであるかどうかを判断 PackageManagerhasSystemFeature()、そして FEATURE_USB_HOSTを使用します。 FEATURE_USB_HOSTは、 <uses-feature> (android.hardware.usb.host)で使用しているのと同じ文字列として定義されています。