3

Android デバイスをコンピューターに接続するときに、インストールされている Android OS バージョン (4.0 など) とユーザー フレンドリーなデバイス名 (Samsung Galaxy S3、Samsung Galaxy Tab 8.9 など) を識別する Windows アプリケーションを C#.net で構築したいと考えています。 USB経由。

System.Managementクラスを使用して、マシンに接続されている USB デバイスを識別しようとしましたが、次のような問題がありました。

3つのUSBポートがあり、Samsung Galaxy Tab 8.9をUSBポートの1つに接続し、使用しているUSBデバイスのリストを取得しようとしましたがUSBhub WMI class、Samsungデバイスを含むリストに約6〜7の結果が得られました. したがって、ここでの問題は次のとおりです。

  1. USBHub をクエリしたときに 6 ~ 7 件の結果が得られたのはなぜですか? 私はここで何か悪いことをしていますか?

  2. レコードをフィルタリングして、外部デバイスが接続されている USB ポートのみを一覧表示するにはどうすればよいですか?

  3. 期待していた正しい/ユーザーフレンドリーなデバイス名 (たとえば、Samsung Galaxy Tab 8.9) を見つけることができず、Android バージョンの OS を取得する方法がありませんでした。「Caption」および「Description」プロパティを試しましたが、「Samsung」などの非常に一般的な情報が含まれています。ユーザー フレンドリなデバイス名とデバイスにインストールされている Android OS のバージョンを取得するにはどうすればよいですか。

4

2 に答える 2

16

Android SDKのAndroid Debug Bridgeを使用して、接続されたデバイスからプロパティをクエリできます。adb.exe.NET 内からプロセスを起動するだけで、結果を使用できます。

たとえばadb.exe shell getprop ro.product.model、モデル名が表示されadb.exe shell getprop ro.build.version.release、Android のバージョン番号が表示されます。特定のデバイスで使用可能なすべてのプロパティの完全なリストを取得するには、 を実行することもできますadb.exe shell getprop

プロパティ名は実際には標準化されておらず、メーカーは価値のある名前を入力する必要がないことに注意してください。製品モデルには、消費者の間で製品を識別するために一般的に使用されていないデバイスのコード名または製品 ID が含まれているのが一般的です。

于 2013-03-08T23:44:55.773 に答える
0

デバイスの設定を変更する必要があると思います

1> Android で、設定 -> アプリケーション -> 開発に移動します

2> USBデバッグをチェック

3> デバイス ドライバーが既にインストールされていることを確認します。

Android バージョン 4.2 以降にはセキュリティが付属しており、設定を変更せずに ADB コマンドを実行することはできません。

よろしく、 アーリア人

于 2014-02-23T08:01:05.947 に答える