List of features in Android

This is a list of features in the Android operating system.

General

 * Messaging: SMS and MMS are available forms of messaging, including threaded text messaging and Android Cloud To Device Messaging (C2DM) and now enhanced version of C2DM, Android Google Cloud Messaging (GCM) is also a part of Android Push Messaging services. Android phones also have the ability to send and receive RCS via the messages app (if supported by the carrier).


 * Autocorrection and Dictionary: Android has an feature called autocorrection. When any word is misspelled, then Android recommends the meaningful and correct words matching the words that are available in dictionary. Users can add, edit, and remove words from dictionary as per their wish.


 * Web browser: A web browser is one of the essential features of Android devices, providing users with the ability to access and navigate the internet conveniently. Android's web browsers, such as Google Chrome, come pre-installed and offer a seamless browsing experience with features like tabbed browsing, incognito mode, and synchronization with other devices. Users can also download alternative web browsers from the Google Play Store to suit their preferences.
 * Voice-based features: Google search through voice has been available since initial release. Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards. As of Android 4.1, Google has expanded Voice Actions with  ability to talk back and read answers from Google's Knowledge Graph when queried with specific commands.  The ability to control hardware has not yet been implemented.
 * Multi-touch: Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology at the time). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively.
 * Multitasking: Multitasking of applications, with unique handling of memory allocation, is available.
 * Screen capture: Android supports capturing a screenshot by pressing the power and home-screen buttons at the same time. Prior to Android 4.0, the only methods of capturing a screenshot were through manufacturer and third-party customizations (apps), or otherwise by using a PC connection (DDMS developer's tool). These alternative methods are still available with the latest Android.
 * TV recording:Android TV supports capturing and replaying TV recordings.
 * Video calling: Android does not support native video calling, but some handsets have a customized version of the operating system that supports it, either via the UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is available in Android 2.3.4 (Gingerbread) and later. Gingerbread allows Nexus S to place Internet calls with a SIP account. This allows for enhanced VoIP dialing to other SIP accounts and even phone numbers. Skype 2.1 offers video calling in Android 2.3, including front camera support. Users with the Google+ Android app can perform video chat with other Google+ users through Hangouts.
 * Multiple language support: Android supports multiple languages.
 * Accessibility: Built-in text-to-speech is provided by TalkBack for people with low or no vision. Enhancements for people with hearing difficulties are available, as are other aids.

Connectivity

 * Connectivity: Android supports connectivity technologies including GSM/EDGE, Bluetooth, LTE, CDMA, EV-DO, UMTS, NFC, THAILAND and WiMAX.
 * Bluetooth: Supports voice dialing and sending contacts between phones, playing music, sending files (OPP), accessing the phone book (PBAP), A2DP and AVRCP. Keyboard, mouse and joystick (HID) support is available in Android 3.1+, and in earlier versions through manufacturer customizations and third-party applications.
 * Tethering: Android supports tethering, which allows a phone to be used as a wireless/wired Wi-Fi hotspot. Before Android 2.2, this was supported by third-party applications or manufacturer customizations.
 * Ethernet: Supports connecting internet to a phone via ethernet cable using a USB Type-C adapter.

Media

 * Streaming media support: RTP/RTSP streaming 3GPP PSS, ISMA, HTML progressive download (HTML tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic Streaming are supported by the Flash plugin. Apple HTTP Live Streaming is supported by RealPlayer for Android, and by the operating system since Android 3.0 (Honeycomb).
 * Media support: Android supports the following audio/video/still media formats: WebM, H.263, H.264, AAC, HE-AAC (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP, and WebP.
 * External storage: Most Android devices include ultraSD card slots and can read microSD cards formatted with the FAT32, Ext3 or Ext4 file systems. To allow use of external storage media such as USB flash drives and USB HDDs, some Android devices are packaged with USB-OTG cables. Storage formatted with FAT32 is handled by the Linux Kernel vFAT driver, while 3rd party solutions are required to handle some other file systems such as NTFS, HFS Plus and exFAT.

Hardware support
Android devices can include still/video cameras, touchscreens, GPS, accelerometers, gyroscopes, barometers, magnetometers, dedicated gaming controls, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics.

Other

 * Java support: While most Android applications are written in Java, there is a Java virtual machine in the platform and Java byte code is not executed. Java classes are compiled into Dalvik executables and run on using Android Runtime or in Dalvik in older versions, a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party applications.
 * Handset layouts: The platform works for various screen sizes from smartphone sizes and to tablet size, and can potentially connect to an external screen, e.g. through HDMI, or wirelessly with Miracast. Portrait and landscape orientations are supported and usually switching between by turning. A 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications is used.
 * Storage: SQLite, a lightweight relational database, is used for data storage purposes.
 * Native Apps: Android apps are also written in Kotlin
 * Instant Apps: Android apps are hosted on a specific website path and load instead of the website itself. They are part-apps and load almost instantly without the need for an installation. One of the first apps being developed with such functionality is the B&H app.