What’s New for Developers in Android 4.3
The latest Android Jelly Bean 4.3 release does not introduce major changes to Google’s mobile operating system as Ice Cream did, but rather certain performance optimizations and many small improvements such as Restricted Profiles, Bluetooth LE, Wi-Fi Scan Mode, Open GL ES 3.0, new sensor types, and others, most of these changes being documented by the Android 4.3 APIs page. Following is a summary of these new APIs.
Android 4.3 introduces an extension to the multiuser feature for tablets, allowing the owner to set up and control multiple new profiles, having fine grained control over the applications allowed to run and the content available in each profile. This feature is useful to set up a device to be used in various environments: guest, kiosk, point-of-sale, providing limited access to children, etc.
Developers need to revisit their applications before advertising them as 4.3-ready because an application might misbehave due to restricted profiles. For example, an application might rely on a standard Android application which is disabled for a profile. Also, in a restricted profile users do not have access to accounts by default, which will impact an application using them.
Open GL ES 3.0
Android 4.3 introduces support for Khronos OpenGL ES 3.0 but requires special hardware to run. Nexus 4, Nexus 7 (2013) and Nexus 10 have this capability, but not all devices have it. Open GL ES 3.0 offers new texture formats, texture compression ETC2, the latest shading language, geometry instancing, GPU accelerated culling techniques, multiple render targets, and others, providing the foundation for higher quality graphics.
Previously available in some Android devices (Samsung S III, IV, Motorola Droid RAZR, etc.), Bluetooth Smart Ready has now been introduced in Android stock, enabling capable devices to discover Bluetooth Low Energy devices and query them for GATT services. Among such devices are certain watches, running shoes, heart rate monitors, and others.
Google has also made available a Wi-Fi scan-only mode used to scan for Wi-Fi access points without connecting to them in order to improve location accuracy and reduce power consumption.
User Interface and Input
ViewOverlay class enables developers to create a transparent layer on top of a View without affecting the layout hierarchy. This can be used to create animations such as sliding a view outside of its container without receiving focus or user input on that view.
TYPE_GAME_ROTATION_VECTOR can be used to detect movement without being affected by magnetic interferences, not relying on the magnetic north.
The new UiAutomation class lets developers to simulate user action by inspecting the screen content and injecting keyboard and touch events. It can also be used to change screen orientation and take screenshots.
Other improvements introduced in Android 4.3 are related to multimedia, user interface, notifications, contacts, localization, accessibility, security, and others.