2012-10-12 30 views
5

là có bất kỳ khả năng để kiểm tra các phần cứng bên ngoài, nơi kết nối trong máy tínhPhần cứng ngoài Thông tin

Bắt tình trạng của mỗi phần cứng là những gì đang online hoặc offline

+0

Thêm ngữ cảnh. Phần cứng bên ngoài như thế nào? Kết nối thông qua những gì? Đã kết nối với những gì - máy tính của thiết bị Android, như một thẻ gợi ý? –

+0

@SevaAlekseyev phần cứng gắn ngoài được kết nối với máy tính qua cổng USB và Cổng nối tiếp – Bucks

+0

Thẻ ** android-ndk ** phải làm gì với câu hỏi của bạn? –

Trả lời

2

Bạn có thể phải có sự giúp đỡ của kernel linux vì vậy tôi nghĩ rằng chỉ cần thực hiện một lệnh đơn giản mà có thể cung cấp cho bạn danh sách các thiết bị kết nối với thiết bị của bạn

Dưới đây là

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

hoặc bạn có thể sử dụng udevinfo tôi không biết chi tiết về nó nhưng google là ở đó đợi em

+0

nó chỉ hiển thị những thành phần phần cứng hiện diện trong hệ thống – Bucks

0

Để làm điều này bạn cần phải chạy một chương trình bên ngoài sử dụng Runtime.exec().

Có rất nhiều ví dụ về cách thực hiện việc này cho Windows và Unix, nhưng đối với Android, tôi nghi ngờ có một lệnh khác là bắt buộc.

+0

chỉ biết tôi được tìm thấy bằng cách sử dụng javax.usb chúng tôi có thể nhận được danh sách tôi đã không nhận được bất kỳ ví dụ để có được danh sách phần cứng nếu bạn biết bất cứ điều gì abt đó? – Bucks

+0

Nhìn vào trang web cho 'javax.usb' nó xuất hiện này là chạy tốt nhất trên Linux (chỉ) –

+0

Umm .. mà không cần tạo phương pháp Runtime.exec() làm thế nào để có được danh sách phần cứng kết nối – Bucks

2

Nếu bạn có tổ ong hoặc cao hơn sử dụng dịch vụ USB Manager

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); 
    HashMap<String, UsbDevice> devices = manager.getDeviceList(); 
Các vấn đề liên quan