IShellEnabledDevice

public interface IShellEnabledDevice

com.android.ddmlib.IShellEnabledDevice


Un dispositivo astratto che può ricevere comandi della shell.

Riepilogo

Metodi pubblici

abstract void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Esegue un comando shell sul dispositivo e invia il risultato a un receiver.

abstract void executeShellCommand(String command, IShellOutputReceiver receiver, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Esegue un comando shell sul dispositivo e invia il risultato a un receiver.

abstract String getName()

Restituisce un nome (leggibile) per questo dispositivo.

abstract ListenableFuture<String> getSystemProperty(String name)

Esegui una potenziale query asincrona per una proprietà di sistema.

Metodi pubblici

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Esegue un comando shell sul dispositivo e invia il risultato a un receiver.

maxTimeToOutputResponse viene utilizzato come tempo di attesa massimo quando si prevede l'output del comando dal dispositivo.
In qualsiasi momento, se il comando shell non restituisce alcun output per un periodo superiore a maxTimeToOutputResponse, il metodo genererà ShellCommandUnresponsiveException.

Per i comandi come l'output del log, deve essere utilizzato un valore maxTimeToOutputResponse pari a 0, il che significa che il metodo non genererà mai un'eccezione e verrà bloccato finché IShellOutputReceiver.isCancelled() del destinatario non restituisce true.

Parametri
command String: il comando shell da eseguire

receiver IShellOutputReceiver: il IShellOutputReceiver che riceverà l'output del comando shell

maxTimeToOutputResponse long: il periodo di tempo massimo durante il quale il comando può non restituire alcuna risposta. Un valore pari a 0 indica che il metodo attenderà per sempre (finché receiver non annulla l'esecuzione) l'output del comando e non genererà mai un'eccezione.

maxTimeUnits TimeUnit: unità per i valori maxTimeToOutputResponse diversi da zero.

Lanci
TimeoutException in caso di timeout della connessione durante l'invio del comando.
AdbCommandRejectedException se adb rifiuta il comando.
ShellCommandUnresponsiveException nel caso in cui il comando shell non invii alcun output per un periodo superiore a maxTimeToOutputResponse.
in caso di errore I/O sulla connessione.

executeShellCommand

public abstract void executeShellCommand (String command, 
                IShellOutputReceiver receiver, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Esegue un comando shell sul dispositivo e invia il risultato a un receiver.

maxTimeToOutputResponse viene utilizzato come tempo di attesa massimo quando si prevede l'output del comando dal dispositivo.
In qualsiasi momento, se il comando shell non restituisce alcun output per un periodo superiore a maxTimeToOutputResponse, il metodo genererà ShellCommandUnresponsiveException.

Per i comandi come l'output del log, deve essere utilizzato un valore maxTimeToOutputResponse pari a 0, il che significa che il metodo non genererà mai un'eccezione e verrà bloccato finché IShellOutputReceiver.isCancelled() del destinatario non restituisce true.

Parametri
command String: il comando shell da eseguire

receiver IShellOutputReceiver: il IShellOutputReceiver che riceverà l'output del comando shell

maxTimeout long: il timeout massimo per la restituzione del comando. Un valore pari a 0 indica che non verrà applicato alcun timeout massimo.

maxTimeToOutputResponse long: il periodo di tempo massimo durante il quale il comando può non restituire alcuna risposta. Un valore pari a 0 indica che il metodo attenderà per sempre (finché receiver non annulla l'esecuzione) l'output del comando e non genererà mai un'eccezione.

maxTimeUnits TimeUnit: unità per i valori non nulli di maxTimeout e maxTimeToOutputResponse.

Lanci
TimeoutException in caso di timeout della connessione durante l'invio del comando.
AdbCommandRejectedException se adb rifiuta il comando.
ShellCommandUnresponsiveException nel caso in cui il comando shell non invii alcun output per un periodo superiore a maxTimeToOutputResponse.
in caso di errore I/O sulla connessione.

getName

public abstract String getName ()

Restituisce un nome (leggibile) per questo dispositivo. In genere, si tratta del nome dell'AVD per gli AVD e di una combinazione del nome del produttore, del nome del modello e del numero di serie per i dispositivi.

Ritorni
String

getSystemProperty

public abstract ListenableFuture<String> getSystemProperty (String name)

Esegui una potenziale query asincrona per una proprietà di sistema.

Parametri
name String: il nome del valore da restituire.

Ritorni
ListenableFuture<String> un ListenableFuture. ERROR(get/Future#get() get) potrebbe restituire null.