2012-10-12 116 views
5

es que no hay ninguna posibilidad de comprobar cuáles son el hardware externo, donde conectado en el ordenadorhardware externo Información

Obtener el estado de cada hardware está en línea o fuera de línea

+0

Más contexto, por favor. Hardware externo como qué? Conectado a través de qué? ¿Conectado a qué computadora de un dispositivo Android, como sugiere una etiqueta? –

+0

@SevaAlekseyev hardware externo conectado a la computadora a través del puerto USB y puerto serial – Bucks

+0

¿Qué tiene que ver la etiqueta ** android-ndk ** con su pregunta? –

Respuesta

2

Es posible que tenga que tomar la ayuda del núcleo de Linux, así que creo sólo hay que ejecutar un comando simple que le puede dar la lista de dispositivos conectados a su dispositivo

Aquí es

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

o puede utilizar udevinfo no sé en detalles al respecto, pero google está a su disposición

+0

muestra solo cuáles son los componentes de hardware presentes en el sistema – Bucks

0

Para hacer esto es necesario ejecutar un programa externo usando Runtime.exec().

Hay muchos ejemplos de cómo hacer esto para Windows y Unix, pero para Android sospecho que se necesita otro comando.

+0

solo sé que encontré usando javax.usb podemos obtener una lista ¿No tengo ningún ejemplo para obtener esa lista de hardware si sabes algo de eso? – Bucks

+0

Mirando el sitio web para 'javax.usb' parece que esto se ejecuta mejor en Linux (solo) –

+0

Umm .. sin crear el método Runtime.exec() cómo obtener la lista de hardware conectado – Bucks

2

Si tiene nido de abeja o por encima de usar el servicio de USB Manager

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