public final class EmulatorConsole
extends java.lang.Object
This is basically a wrapper around the command line console normally used with telnet.
Regarding line termination handling:
One of the issues is that the telnet protocol requires usage of \r\n
. Most
implementations don't enforce it (the dos one does). In this particular case, this is mostly
irrelevant since we don't use telnet in Java, but that means we want to make
sure we use the same line termination than what the console expects. The console
code removes \r
and waits for \n
.
However this means you may receive \r\n
when reading from the console.
This API will change in the near future.
Modifier and Type | Class and Description |
---|---|
static class |
EmulatorConsole.GsmMode
Gsm Mode enum.
|
static class |
EmulatorConsole.GsmStatus
Gsm Status class
|
static class |
EmulatorConsole.NetworkStatus
Network Status class
|
Modifier and Type | Field and Description |
---|---|
static int[] |
DOWNLOAD_SPEEDS
Array of download speeds: full speed, gsm, hscsd, gprs, edge/egprs, umts/3g, hsdpa.
|
static int[] |
MIN_LATENCIES
Array of delay values: no delay, gprs, edge/egprs, umts/3d
|
static java.lang.String[] |
NETWORK_LATENCIES
Arrays of valid network latencies
|
static java.lang.String[] |
NETWORK_SPEEDS
Arrays of valid network speeds
|
static java.lang.String |
RESULT_OK |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
call(java.lang.String number)
Initiate an incoming call on the emulator.
|
java.lang.String |
cancelCall(java.lang.String number)
Cancels a current call.
|
void |
close()
Closes this instance of the emulator console.
|
java.lang.String |
getAvdName() |
static EmulatorConsole |
getConsole(IDevice d)
Returns an
EmulatorConsole object for the given Device . |
static java.lang.Integer |
getEmulatorPort(java.lang.String serialNumber)
Return port of emulator given its serial number.
|
EmulatorConsole.GsmStatus |
getGsmStatus()
Returns the current gsm status of the emulator
|
EmulatorConsole.NetworkStatus |
getNetworkStatus()
Get the network status of the emulator.
|
void |
kill()
Sends a KILL command to the emulator.
|
java.lang.String |
sendAuthentication() |
java.lang.String |
sendLocation(double longitude,
double latitude,
double elevation) |
java.lang.String |
sendSms(java.lang.String number,
java.lang.String message)
Sends an SMS to the emulator
|
java.lang.String |
setGsmDataMode(EmulatorConsole.GsmMode mode)
Sets the GSM data mode.
|
java.lang.String |
setGsmVoiceMode(EmulatorConsole.GsmMode mode)
Sets the GSM voice mode.
|
java.lang.String |
setNetworkLatency(int selectionIndex)
Sets the network latency.
|
java.lang.String |
setNetworkSpeed(int selectionIndex)
Sets the network speed.
|
public static final int[] MIN_LATENCIES
public static final int[] DOWNLOAD_SPEEDS
public static final java.lang.String[] NETWORK_SPEEDS
public static final java.lang.String[] NETWORK_LATENCIES
public static final java.lang.String RESULT_OK
@Nullable public static EmulatorConsole getConsole(IDevice d)
EmulatorConsole
object for the given Device
. This can
be an already existing console, or a new one if it hadn't been created yet.
Note: emulator consoles don't automatically close when an emulator exists. It is the
responsibility of higher level code to explicitly call close()
when the emulator
corresponding to a open console is killed.d
- The device that the console links to.EmulatorConsole
object or null
if the connection failed.public static java.lang.Integer getEmulatorPort(java.lang.String serialNumber)
serialNumber
- the emulator's serial numbernull
if it could not be determinedpublic void kill()
public void close()
public java.lang.String getAvdName()
public EmulatorConsole.NetworkStatus getNetworkStatus()
EmulatorConsole.NetworkStatus
object containing the EmulatorConsole.GsmStatus
, or
null
if the query failed.public EmulatorConsole.GsmStatus getGsmStatus()
EmulatorConsole.GsmStatus
object containing the gms status, or null
if the query failed.public java.lang.String setGsmVoiceMode(EmulatorConsole.GsmMode mode) throws java.security.InvalidParameterException
mode
- the EmulatorConsole.GsmMode
value.java.security.InvalidParameterException
- if mode is an invalid value.public java.lang.String setGsmDataMode(EmulatorConsole.GsmMode mode) throws java.security.InvalidParameterException
mode
- the EmulatorConsole.GsmMode
valueRESULT_OK
if success, an error String otherwise.java.security.InvalidParameterException
- if mode is an invalid value.public java.lang.String call(java.lang.String number)
number
- a string representing the calling number.RESULT_OK
if success, an error String otherwise.public java.lang.String cancelCall(java.lang.String number)
number
- the number of the call to cancelRESULT_OK
if success, an error String otherwise.public java.lang.String sendSms(java.lang.String number, java.lang.String message)
number
- The sender phone numbermessage
- The SMS message. \ characters must be escaped. The carriage return is
the 2 character sequence {'\', 'n' }RESULT_OK
if success, an error String otherwise.public java.lang.String setNetworkSpeed(int selectionIndex)
selectionIndex
- The index in the NETWORK_SPEEDS
table.RESULT_OK
if success, an error String otherwise.public java.lang.String setNetworkLatency(int selectionIndex)
selectionIndex
- The index in the NETWORK_LATENCIES
table.RESULT_OK
if success, an error String otherwise.public java.lang.String sendLocation(double longitude, double latitude, double elevation)
public java.lang.String sendAuthentication() throws java.io.IOException, com.android.prefs.AndroidLocation.AndroidLocationException
java.io.IOException
com.android.prefs.AndroidLocation.AndroidLocationException