2012-10-12 101 views
5

是有任何的可能性來檢查什麼地方連接在計算機外部硬件信息

獲取每個硬件的狀態,外部硬件在線或離線

+0

請更多背景。外部硬件像什麼?通過什麼連接?連接到什麼 - Android設備的電腦,如標籤所示? –

+0

@SevaAlekseyev通過USB端口和串口連接到計算機的外部硬件 – Bucks

+0

** android-ndk **標籤與您的問題有什麼關係? –

回答

2

您可能必須採取linux內核的幫助,所以我認爲只需要執行一個簡單的命令,可以給你連接到你的設備的設備列表

Process process = Runtime.getRuntime().exec("cat /proc/devices"); 
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); 

,或者您可以使用udevinfo我不知道關於它的詳細信息,但谷歌是有你

+0

它只顯示系統中存在的硬件組件 – Bucks

0

要做到這一點,你需要運行一個外部程序使用Runtime.exec()

有很多關於如何在Windows和Unix上執行此操作的示例,但對於Android我懷疑需要另一個命令。

+0

只是知道我通過使用javax.usb找到我們可以得到列表我沒有得到任何例子得到該硬件列表,如果你知道任何abt的? – Bucks

+0

查看'javax.usb'的網站,看起來這是最好的在Linux上運行(僅) –

+0

嗯..沒有創建Runtime.exec()方法如何獲取連接的硬件列表 – Bucks

2

如果你有蜂窩或以上使用USB管理器服務

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); 
    HashMap<String, UsbDevice> devices = manager.getDeviceList();