2013-03-08 39 views
2

我想在C#.net中構建一個Windows應用程序,當您將Android設備連接到Android設備時,該應用程序應能識別已安裝的Adroid操作系統版本(例如4.0)和用戶友好的設備名稱(例如Samsung Galaxy S3,Samsung Galaxy Tab 8.9等)你的電腦通過USB。如何獲取使用C#.net(VS2010/4.0 +)通過USB連接的Android設備的操作系統版本和設備名稱?

我與System.Management類試圖找出我的機器連接的USB設備,但是,這些問題我不得不爲:

我只是有3個USB端口和連接的三星Galaxy Tab 8.9的USB之一端口,並嘗試使用USBhub WMI class獲得USB設備列表,並在包括三星設備的列表中獲得了6-7個結果。所以,這裏的問題是:

  1. 爲什麼我拿到6-7的結果查詢USBHUB什麼時候?我在這裏做錯了什麼?

  2. 如何過濾我的記錄以僅列出連接有外部設備的USB端口而不是6-7結果?

  3. 我找不到正確的/用戶友好的設備名稱,我期待(例如三星Galaxy Tab 8.9),並沒有辦法獲得Android版本的操作系統。我嘗試了'Caption'和'Description'屬性,但它們具有非常通用的信息,例如'Samsung'。如何在設備上獲取用戶友好的設備名稱和已安裝的Android操作系統版本。

+0

我建議使用Android SDK和運行只是亞行過程中找到你所需要的所有信息。 – poke 2013-03-08 22:12:26

+1

例如'adb.exe shell getprop ro.product.model'應該爲您提供產品名稱,'adb.exe shell getprop ro.build.version.release'版本號。 – poke 2013-03-08 22:22:42

+0

感謝您的及時迴應。我可以通過version.release命令獲得正確的操作系統版本。但是,對於設備名稱,它顯示了Samsung Galaxy Tab 8.9的GT-P730。我可以通過任何命令獲得這個名字嗎? – 2013-03-08 22:29:53

回答

14

您可以使用Android SDK中的Android Debug Bridge來查詢連接設備的屬性。您可以直接從.NET中啓動adb.exe進程並使用結果。

例如adb.exe shell getprop ro.product.model會給你型號名稱,而adb.exe shell getprop ro.build.version.release會給你Android版本號。要獲得給定設備的所有可用屬性的完整列表,您也可以運行adb.exe shell getprop

請注意,屬性名稱沒有真正標準化,製造商不需要輸入有價值的名稱。產品型號通常包含設備的代碼名稱或不常用於識別消費者產品的產品標識符。

+3

爲什麼downvote? – poke 2014-01-19 21:49:03

0

我認爲,我們需要作出改變進入設備設置

1>在你的Android,進入設置 - >應用程序 - >開發

2>檢查USB調試

3>製作確定您的設備驅動程序已安裝。

Android版本4.2及以上版本帶有安全性,它不會允許您在不更改設置的情況下觸發ADB命令。

問候, 雅利安