Red de conocimiento informático - Material del sitio web - Cómo verificar la información de dispositivos externos conectados a dispositivos Android vía USB

Cómo verificar la información de dispositivos externos conectados a dispositivos Android vía USB

Este artículo presenta principalmente ejemplos de código para ver información de dispositivos externos conectados por USB en Android. Los amigos que lo necesiten pueden consultarlo

1. Disco duro móvil):

//El monitoreo de inserción y extracción de dispositivos de almacenamiento USB es consistente con el monitoreo de inserción y extracción de tarjetas SD.

El código es el siguiente:

private USBBroadCastReceiver

mBroadcastReceiver;

IntentFilter iFilter = new IntentFilter();

iFilter.addAction(Intent.ACTION_MEDIA_EJECT);

iFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);

iFilter.addAction(Intent.ACTION_MEDIA_REMOVED);

iFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

iFilter.addDataScheme("archivo");

mBroadcastReceiver = nuevo

USBBroadCastReceiver();

registrarReceiver(mBroadcastReceiver,

iFilter);

clase privada USBBroadCastReceiver extiende BroadcastReceiver {

@Override

public void onReceive (Contexto contexto, intención intención)

{

String action = intent.getAction();

if

(action.equals (Intent. ACTION_MEDIA_EJECT)) {

//Retire el dispositivo USB y actualice la interfaz de usuario

} else if

(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

p>

//Montaje del dispositivo USB, actualización de la interfaz de usuario

}

}

}

//Montar el uso del espacio de almacenamiento del dispositivo USB

public static String getUSBStorage(Context context){

// Almacenamiento USB

//almacenamiento /udisk es el dispositivo USB La ruta de montaje en el dispositivo Android Las rutas de los dispositivos Android de diferentes fabricantes son diferentes.

//Escribir así también es adecuado para el montaje de tarjetas SD.

Ruta del archivo = new File("/storage/udisk");

StatFs stat = new StatFs(path.getPath());

long blockSize =

stat.getBlockSize();

long totalBlocks = stat.getBlockCount();

long availableBlocks = stat.getAvailableBlocks();

String usedSize =

Formatter.formatFileSize(context, (totalBlocks-availableBlocks) *

blockSize);

String availableSize = Formatter.formatFileSize(contexto ,

Bloques disponibles * tamaño de bloque);

devolver tamaño usado + " / " +

tamaño disponible;//Espacio: usado/disponible

}

2, dispositivo de entrada externo USB (como teclado, mouse, escáner)

Copia el código

El código es el siguiente:

prueba {

//Obtén información sobre el dispositivo de entrada USB externo

Proceso p=Runtime.getRuntime().exec("cat

/ proc/ bus/input/devices");

BufferedReader in = new BufferedReader(new

InputStreamReader(p.getInputStream()));

Línea de cadena = nulo ;

mientras((line = in.readLine())!= nulo){

String deviceInfo =

line.trim();

//Filtra la información del dispositivo de cada fila obtenida para obtener lo que deseas.

}

} catch (Excepción e) {

// TODO: manejar

excepción

e .printStackTrace();

}

Además: la información del dispositivo también se puede ver a través de adb

shell y ejecutar cat /proc/bus/input/devices.

La información del dispositivo de entrada externo USB se imprime de la siguiente manera:

Copia el código

El código es el siguiente:

I: Bus=0003 Proveedor=11c0 Producto =0030

Versión=0110

N: Nombre="Teclado USB ACRUX"

P:

Phys=usb-0000: 00:04.0-1.3/input1

S:

Sysfs=/devices/pci0000:00/0000:00:04.0/usb1/1-1 /1-1.3/1- 1.3:1.1/input/input3

U:

Uniq=

H: Handlers=mouse1 evento3

B: PROP=0

B: EV=17

B: CLAVE=70000 0 0

0 0 0 0 0 0

B: REL= 103

B: MSC=10

I: Bus=0003 Proveedor=11c0

Producto=0030 Versión=0110 Esta línea Se mostrará una gran cantidad de información entre los dispositivos Android y USB si se utiliza la interacción de datos del dispositivo.

Para escribir código sobre cómo los dispositivos externos USB interactúan con los datos del dispositivo Android, consulte:

/guide/topics/connectivity/usb/index.html

N: Nombre="Teclado USB ACRUX" Esta línea describe el nombre del dispositivo USB externo.

P: Phys=usb-0000:00:04.0-1.3/input1

S:

Sysfs=/devices/pci0000:00/0000:00 :04.0/usb1/1-1/1-1.3/1-1.3:1.1/input/input3

Estas dos líneas se pueden usar para identificar a qué puerto USB del dispositivo Android está conectado el dispositivo USB .

p>