# Features and emulated sensors
To simulate various behaviors of your application according to specific use cases, Genymotion provides easy-to-use widgets which emulate the following sensors and features:
Sound volume, Rotate screen, Fullscreen, File upload, Camera, Battery, GPS, Identifers, Network and Baseband, Phone, Resolution and Disk I/O.
# Sound volume
You can control the volume of the sound emitted by your virtual device by clicking or .
# Rotate screen
You can rotate the screen of your virtual device by clicking .
You can turn the full-screen mode on or off by clicking .
# File upload
You can upload files from your computer to the virtual device. To do so, click and browse for the file you wish to upload.
The Camera widget allows you to send a video stream from a virtual device to the Android system. With this widget, you can test an Android application that uses an Android built-in camera. The video stream comes from a real physical webcam connected or integrated into your computer.
To use the Camera widget, click .
Make sure your camera is allowed to access the virtual device.
From , select a resolution with a ratio that matches your webcam orientation (for example 1024x800 for a portrait image or 800x1024 for a landscape orientation source).
The Battery widget allows you to test how your application reacts with different battery charge levels and states of charge. To use the Battery widget:
- Click .
- Modify the charge level using the slider or enter a value in the Charge level field.
- Modify the state of charge by checking the State of charge box:
- Check to activate the Charging state. This simulates that the power supply is plugged in and the battery is charging.
- Uncheck to activate the Discharging state. This simulates that the power supply is unplugged and the battery is discharging.
The GPS widget allows real-time activation and modifications of a position, accuracy and bearing. To use the GPS widget:
- Click .
- Set the latitude value you wish to simulate using the Latitude field. The latitude value must range from -90° to 90°.
- Set the longitude value you wish to simulate using the Longitude field. The longitude value must range from -180° to 180°.
- Set the altitude value you wish to simulate using the Altitude field. The altitude value must range from -10000m to 10000m.
- Set an accuracy value using the slider or by entering a value in the Accuracy field. The accuracy value must range from 0m to 200m.
- Set a bearing value using the compass or by entering a value in the Bearing field. The bearing value must range from 0° to 359.99°.
Many applications do not rely on the GPS orientation, but use the device accelerometer or gyroscope to determine the bearing of the device, which are not yet supported.
You can also define a location using the Map button. Once a location selected, click Capture to retrieve its coordinates.
The Capture widget allows you to take a screenshot or screencast of virtual devices. This way, you can broadcast images or videos of your applications.
To take a screenshot of your virtual device, click and .
To take a screencast of your virtual device:
- Click .
- Click to start recording.
- Record your sequence.
- Click to stop recording.
Screenshots and screencasts are stored in your Downloads folder.
The Identifiers widget shows Device ID and Android ID numbers. You can view and edit these values at any time, without having to reboot your virtual device.
To use the Identifiers widget, click
# Android ID
An Android ID is a 64-bit number randomly generated when the user first sets up the device. It remains the same for the whole lifetime of the user's device. Android 4.2.2 and greater versions support multiple user accounts, each one having a unique Android ID.When clicking GENERATE, a random Android identifier is generated. Valid Android ID numbers are 16-hexadecimal digits long.
You are not allowed to set an empty Android ID.
# Device ID / IMEI / MEID
By default, a new virtual device is deployed with the default device ID number
00000000000000 0. When clicking GENERATE, a random identifier is generated. As IMEI or MEID numbers are used as device ID, Genymotion generates numbers compliant with the GSM 02.16 standard and the 3GPP2 specification (14 digits or hexadecimal digits + a checksum digit).
Valid characters for setting device ID/IMEI/MEID are:
- lower-case and upper-case letters [a-z, A-Z]
- digits [0-9]
- dots [ . ]
- dashes [ - ]
- underscores [ _ ]
# Network and Baseband
The Network and Baseband widget allows you to test how your application reacts with different network quality and performance types. You can also test different mobile network operators with different SIM operators.
- Click .
- Select a network profile from the Network Speed drop-down list. Network profiles and their corresponding values are listed in the table below.
|Upload speed||Download speed||Upload delay||Download delay||Upload packet loss||Download packet loss||DNS delay|
|4G||5.5Mb/s||17.9Mb/s||50ms||50ms||0.01%||0.01%||3000ms (high DNS delay)|
|4G||5.5Mb/s||17.9Mb/s||50ms||50ms||10%||10%||100ms (high packet losses)|
- Click .
- In MCC/MNC, enter a Mobile Country Code for the SIM operator.
- In MSIN, enter a mobile subscription identification number used by the SIM operator.
- In Name, enter a name for the SIM operator.
- In Phone Number, enter the phone number corresponding to the SIM.
You can then specify the mobile network information:
- In MCC/MNC, enter the Mobile Country Code or Mobile Network Code you wish to test.
- Enter the name of the operator.
This feature is unstable with Cloud PaaS v6.0 and you may not get the expected results.
The Phone widget allows you to test applications relying on telephony features and observe their behavior when receiving a call or a text message. To use the Phone widget, click .
To simulate an incoming call:
- Enter an incoming phone number.
- Click Call.
To simulate an incoming message:
- Enter an incoming phone number.
- Enter a text message.
- Click Send message.
The text message is displayed in the virtual device via a notification and can also be read in the Messaging application.
# Disk I/O
The Disk I/O widget allows you to emulate devices with slow internal storage. It can be very handy if your app requires reading large amount of data from the disk such as gallery apps that load locally stored images or game apps that load large files.
As the speed limit provided by this feature comes on top of the one already defined in the AWS or GCP instance, make sure the profile you wish to apply does not exceed the disk performance already provided in the instance. If so, the widget will not be able to emulate the expected disk performance. For more information, refer to the AWS documentation or GCP documentation.
To simulate high or poor disk performance:
- Click .
- From Profile, select a type of device:
- High-end device: Read speed limit 200MiB per second.
- Mid-range device: Read speed limit 100MiB per second.
- Low-end device: Read speed limit 50MiB per second.
- Custom device: enter the read speed limit you wish to emulate in MiB.
- Click Update.
When switching from a device profile to another, the disk cache is automatically cleared. You can force clearing the cache by clicking Clear Cache.
# Navigation Widgets
- Recent Apps widget : brings the Android Recents Screen which lists recently accessed activities and tasks.
- Home widget : emulate the
Homebutton of a real device. Navigate to Android Home page.
- Back widget : emulate the
Backbutton of a real device. Kills the current activity and resumes the previous one.
The Power Widget simulates a real device power button. Left click on the widget to put the virtual device to sleep or long lest-click to simulate a power button hold (reset or power off).
A short press on this button does not shut down the instance, and you will still be charged by the cloud provider. To shutdown an instance, go to your cloud provider console and stop it.