Cómo llamar a las interfaces AdbWinUsbApi.dll y AdbWinApi.dll
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);
}
} p >
/**
* 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 p>
* @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]