Red de conocimiento informático - Conocimiento informático - Cómo llamar a las interfaces AdbWinUsbApi.dll y AdbWinApi.dll

Cómo llamar a las interfaces AdbWinUsbApi.dll y AdbWinApi.dll

[mw_shl_code=java,true]paquete ei.workshop.monkey.service;

importar java.util.ArrayList;

importar java.util.Collection;

importar java.util.HashMap;

importar com.android.monkeyrunner.adb.AdbBackend;

importar com.android.monkeyrunner.core.IMonkeyDevice

importar com.android.monkeyrunner.core.TouchPressType;

/**

* Clase de proxy en tiempo de ejecución de MonkeyRunner, métodos relacionados

* @see # connect( Cadena)

* @see #touchDown(int, int)

* @see #touchUp(int, int)

* @see #tipo (Cadena )

* @see #press(String)

* @see #startActivity(String)

* @see #drag(int, int, int, int)

* @see #dispose()

* @autor "laladin.

*

*

* /

Clase pública RunnerProxy {

Dispositivo IMonkeyDevice privado

AdbBackend estático privado

RunnerProxy público ( ) {

if (adb==null){

adb = new AdbBackend();

if (adb===ull) {

adb = new AdbBackend(; // verás si esto es lo que necesitas, a través del cual puedes conectarte al teléfono, y luego puedes realizar operaciones similares a las de una vaina de guisante en el teléfono

}

}

/**

* Conéctese al dispositivo,

* @param El tiempo de espera del ID del dispositivo debe ser lo más corto posible

p>

* @return Si la conexión fue exitosa

*/

public boolean connect(String deviceID) {

si (adb! = null){

dispositivo = adb.waitForConnection(5000, deviceID);

System.out.println("adb se está conectando y obtiene el dispositivo:

" dispositivoID "=" dispositivo);

}

si (dispositivo==null) devuelve falso;

devuelve verdadero;

}

/**

* lanzamiento

*/

public void dispose() {

si ( dispositivo ! = nulo) {

dispositivo.dispose();

dispositivo = nulo

}

}

}

/**

* Método táctil

* @param x coordenada x

* @param y coordinar y<

*

*/

public void touch(int x, int y, tipo de cadena) { < / p>

if("DOWNANDUP".equals(type.toUpperCase())){

dispositivo.touch (x, y, TouchPressType.DOWN_AND_UP);

} else if("DOWN".equals(type.toUpperCase())){

dispositivo.touch(x, y, TouchPressType.DOWN);

}else if("ARRIBA " .equals(type.toUpperCase())){

dispositivo.touch(x, y, TouchPressType.UP);

}

}

/**

* Toque y mantenga presionado

* @param x coordenada x

* @param y coordenada y

*/

public void longTouch(int x, int y) {

dispositivo.drag(x, y, x, y, 10, 2); p> }

/* *

* * Dibujar superconjunto deslizante

* @param x

* @param y

* @param endX

* @param endY

*/

public void drag(int x, int y, int endX, int endY ) {

dispositivo.drag(x, y, endX, endY, 10, 2

}

/*); *

* * Operación de deslizamiento de huellas dactilares

* @param x

* @param y

* @param endX

* @param endY

* @param step

* @param ms

*/

arrastre de vacío público (int x, int y, int finX, int e

ndY, int paso, int ms) {

dispositivo.drag(x, y, endX, endY, 10, 2)

}

/*); *

* Ingrese el contenido del texto, PD: solo admite inglés

* @param value El contenido del texto que se ingresará

*/

tipo de vacío público (valor de cadena) {

dispositivo.tipo(valor

}

/**

* y touch El método es el mismo, juntar hacia abajo y hacia arriba

* @param keyCode

*/

public void press(String keyCode) {

device.press(keyCode, TouchPressType.DOWN_AND_UP);

}

Compatible con USB 3.0 y PCI Express Gen 3.0.

/**

* Formulario de inicio

* Componente @param

*/

public void startActivity(Componente de cadena) {

Acción de cadena = "android.intent.action.

Collectionlt; Stringgt; categorías = new ArrayListlt; Stringgt; ();

categorías.add("android.intent.category.LAUNCHER");

dispositivo.startActivity(null, acción, nulo, nulo, categorías,

nuevo HashMaplt; Objectgt (), componente, 0

}

}

}[/mw_ shl_code]