blob: d6a2dcd334f3e29c2be08e3f97ee78ab3dcdf7ef [file] [log] [blame]
Dirk Dougherty052ab1a2011-10-12 15:41:13 -07001page.title=Android 4.0 Platform Highlights
2
3@jd:body
4
5
6<style type="text/css">
7#jd-content {
8 max-width:1024px;
9}
10#jd-content div.screenshot {
11 float:left;
12 clear:left;
13 padding:15px 30px 15px 0;
14}
15#jd-content div.video {
16 float:right;
Dirk Dougherty685ce062011-10-20 14:20:36 -070017 padding:0 0 40px 60px;
18 margin-top:-30px;
Dirk Dougherty052ab1a2011-10-12 15:41:13 -070019}
20#jd-content table.columns {
21 margin:0 0 1em 0;
22}
23#jd-content table.columns td {
24 padding:0;
25}
26#jd-content table.columns td+td {
27 padding:0 2em;
28}
29#jd-content table.columns td img {
30 margin:0;
31}
32#jd-content table.columns td+td>*:first-child {
33 margin-top:-2em;
34}
35.green {
36 color:#8db529;
37 font-weight:bold;
38}
39</style>
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -070040
Dirk Dougherty685ce062011-10-20 14:20:36 -070041<div class="video">
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -070042<iframe width="380" height="223" src="http://www.youtube.com/embed/-F_ke3rxopc?hd=1" frameborder="0"
43allowfullscreen></iframe>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -070044</div>
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -070045
Dirk Dougherty052ab1a2011-10-12 15:41:13 -070046<p>Welcome to Android 4.0!</p>
47
Dirk Dougherty685ce062011-10-20 14:20:36 -070048<p>Android 4.0 delivers a refined, unified UI for phones and tablets and
49introduces innovative features for users and developers. This document provides
50a glimpse of the many new features and technologies that make Android 4.0
51simple, beautiful, and beyond smart. <!--For technical details about
Dirk Dougherty052ab1a2011-10-12 15:41:13 -070052new developer APIs described below, see the <a
Dirk Dougherty685ce062011-10-20 14:20:36 -070053href="{@docRoot}sdk/android-4.0.html">Android 4.0 API Overview</a>
54document.--></p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -070055
56<ul>
57 <li><a href="#UserFeatures">Android 4.0 for Users</a></li>
58 <li><a href="#DeveloperApis">Android 4.0 for Developers</a></li>
59</ul>
60
61<h2 id="UserFeatures" style="clear:right">Android 4.0 for Users</h2>
62
63<div style="padding-bottom:0em;">
64<a href="{@docRoot}sdk/images/4.0/home-lg.png" target="_android"><img style="float:right;xborder:1px solid #ddd;border-radius: 5px;" src="{@docRoot}sdk/images/4.0/home.png" alt="" height="300" width="180" /></a>
65<a href="{@docRoot}sdk/images/4.0/lock-lg.png" target="_android"><img style="float:right;border:1px solid #ddd;border-radius: 5px;" src="{@docRoot}sdk/images/4.0/lock.png" alt="" height="300" width="180" /></a>
66</div>
67
68
69<h3 id="simple" style="color:#172861">Simple, beautiful, beyond smart</h3>
70
71<p>Android 4.0 builds on the things people love most about Android &mdash; easy
72multitasking, rich notifications, customizable home screens, resizable widgets,
73and deep interactivity &mdash; and adds powerful new ways of communicating and
74sharing.</p>
75
76<p style="margin-top:1em;margin-bottom:.75em;"><strong>Refined, evolved UI</strong></p>
77
78<p>Focused on bringing the power of Android to the surface, Android 4.0 makes
79<strong>common actions more visible</strong> and lets users navigate with
80simple, intuitive gestures. Refined <strong>animations</strong> and feedback
81throughout the system make interactions engaging and interesting. An entirely
82<strong>new typeface</strong> optimized for high-resolution screens improves
83readability and brings a polished, modern feel to the user interface.</p>
84
85<p>Virtual buttons in the System Bar let users navigate instantly to Back, Home,
86and Recent Apps. The <strong>System Bar</strong> and virtual buttons are present
87across all apps, but can be dimmed by applications for full-screen viewing.
88Users can access each application's contextual options in the <strong>Action
89Bar</strong>, displayed at the top (and sometimes also at the bottom) of the
90screen.</p>
91
92<p><strong>Multitasking</strong> is a key strength of Android and it's made even
93easier and more visual on Android 4.0. The Recent Apps button lets users jump
94instantly from one task to another using the list in the System Bar. The list
95pops up to show thumbnail images of apps used recently &mdash; tapping a
96thumbnail switches to the app.</p>
97
98<div style="padding-top:0em;">
99<div style="margin-right:.5em;float:left;width:182px;padding-top:.5em;">
100<a href="{@docRoot}sdk/images/4.0/tasks-lg.png" target="_android">
101<img src="{@docRoot}sdk/images/4.0/tasks.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
102<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1em;">The Recent Apps list makes multitasking simple.</div>
103<a href="{@docRoot}sdk/images/4.0/lock-camera-lg.png" target="_android">
104<img src="{@docRoot}sdk/images/4.0/lock-camera.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
105<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1.75em;">Jump to the camera or see notifications without unlocking.</div>
106<a href="{@docRoot}sdk/images/4.0/contact-call-lg.png" target="_android">
107<img src="{@docRoot}sdk/images/4.0/contact-call.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
108<!--<a href="{@docRoot}sdk/images/4.0/quick-response-lg.png" target="_android">
109<img src="{@docRoot}sdk/images/4.0/quick-responses-new.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>-->
110<div style="padding-left:1em;padding-bottom:.5em;font-size:.9em;padding-right:1.75em;">For incoming calls, you can respond instantly by&nbsp;text.</div>
111</div>
112</div>
113
114<p>Rich and interactive <strong>notifications</strong> let users keep in
115constant touch with incoming messages, play music tracks, see real-time updates
116from apps, and much more. On smaller-screen devices, notifications appear at the
117top of the screen, while on larger-screen devices they appear in the System
118Bar.</p>
119
120<div style="padding-top:0em;">
121<div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:326px">
122<a href="{@docRoot}sdk/images/4.0/allapps-lg.png" target="_android">
123<img src="{@docRoot}sdk/images/4.0/allapps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
124<a href="{@docRoot}sdk/images/4.0/calendar-widget-lg.png" target="_android">
125<img src="{@docRoot}sdk/images/4.0/calendar-widget.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
126<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->The All Apps launcher (left) and resizable widgets (right) give you apps and rich content from the home screen.</div>
127</div>
128</div>
129
130
131<p style="margin-top:1em;margin-bottom:.75em;"><strong>Home screen folders and
132favorites tray</strong></p>
133
Dirk Dougherty685ce062011-10-20 14:20:36 -0700134<p>New home screen <strong>folders</strong> offer a new way for users to group
135their apps and shortcuts logically, just by dragging one onto another. Also,
136in All Apps launcher, users can now simply <strong>drag an app</strong> to get
137information about it or immediately uninstall it, or disable a pre-installed app.</p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700138
139<p>On smaller-screen devices, the home screen now includes a customizable
140<strong>favorites tray</strong> visible from all home screens. Users can drag
141apps, shortcuts, folders, and other priority items in or out of the favorites
142tray for instant access from any home screen.</p>
143
144
145<p style="margin-top:1em;margin-bottom:.75em;"><strong>Resizable
146widgets</strong></p>
147
148<p>Home screens in Android 4.0 are designed to be content-rich and customizable.
149Users can do much more than add shortcuts &mdash; they can embed live
150application content directly through interactive <strong>widgets</strong>.
151Widgets let users check email, flip through a calendar, play music, check social
152streams, and more &mdash; right from the home screen, without having to launch
153apps. Widgets are resizable, so users can expand them to show more content or
154shrink them to save space.</p>
155
156
157<p style="margin-top:1em;margin-bottom:.75em;"><strong>New lock screen
158actions</strong></p>
159
160<p>The lock screens now let users do more without unlocking. From the slide lock
161screen, users can <strong>jump directly to the camera</strong> for a picture or
162<strong>pull down the notifications window</strong> to check for messages. When
163listening to music, users can even manage music tracks and see album art. </p>
164
165
166<p style="margin-top:1em;margin-bottom:.75em;"><strong>Quick responses for
167incoming calls</strong></p>
168
169<p>When an incoming call arrives, users can now quickly <strong>respond by text
170message</strong>, without needing to pick up the call or unlock the device. On
171the incoming call screen, users simply slide a control to see a list of text
172responses and then tap to send and end the call. Users can add their own
173responses and manage the list from the Settings app.</p>
174
175
176<p style="margin-top:1em;margin-bottom:.75em;"><strong>Swipe to dismiss
177notifications, tasks, and browser tabs</strong></p>
178
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700179<p>Android 4.0 makes managing notifications, recent apps, and brwoser tabs even
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700180easier. Users can now dismiss individual notifications, apps from the Recent
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700181Apps list, and browser tabs with a simple swipe of a finger. </p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700182
183<div style="padding-top:0em;">
184<div style="margin-right:1em;float:right;margin-left:1em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:200px">
185<a href="{@docRoot}sdk/images/4.0/text-replace-lg.png" target="_android">
186<img src="{@docRoot}sdk/images/4.0/text-replace.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a>
187<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->A spell-checker lets you find errors and fix them faster. </div>
188<a href="{@docRoot}sdk/images/4.0/tts-lg.png" target="_android">
189<img src="{@docRoot}sdk/images/4.0/tts.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a>
190<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em">A powerful voice input engine lets you dictate continously.</div>
191</div>
192</div>
193
194<p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved text input and
195spell-checking</strong></p>
196
197<p>The soft keyboard in Android 4.0 makes text input even faster and more
198accurate. Error correction and word suggestion are improved through a new set of
199default dictionaries and more accurate heuristics for handling cases such as
Dirk Dougherty685ce062011-10-20 14:20:36 -0700200double-typed characters, skipped letters, and omitted spaces. Word suggestion
201is also improved and the suggestion strip is simplified to show only three
202words at a time.</p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700203
Dirk Dougherty685ce062011-10-20 14:20:36 -0700204<p>To fix misspelled words more easily, Android 4.0 adds a
205<strong>spell-checker</strong> that locates and underlines errors and suggests
206replacement words. With one tap, users can choose from multiple spelling
207suggestions, delete a word, or add it to the dictionary. Users can even tap to
208see replacement suggestions for words that are spelled correctly. For
209specialized features or additional languages, users can now download and install
210third-party dictionaries, spell-checkers, and other text services.</p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700211
212
213<p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful voice input
214engine</strong></p>
215
216<p>Android 4.0 introduces a powerful new voice input engine that offers a
217continuous "open microphone" experience and streaming voice recognition. The new
218voice input engine lets users dictate the text they want, for as long as they
Dirk Dougherty685ce062011-10-20 14:20:36 -0700219want, using the language they want. Users can <strong>speak continously</strong> for a prolonged
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700220time, even pausing for intervals if needed, and dictate punctuation to create
221correct sentences. As the voice input engine enters text, it underlines possible
222dictation errors in gray. After dictating, users can tap the underlined words to
223quickly replace them from a list of suggestions.</p>
224
225<div style="padding-top:0em;">
226<div style="margsin-right:.8em;float:left;width:350px;padding-top:1em;">
227<a href="{@docRoot}sdk/images/4.0/usage-all-lg.png" target="_android">
228<img src="{@docRoot}sdk/images/4.0/usage-all.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
229<a href="{@docRoot}sdk/images/4.0/usage-maps-lg.png" target="_android">
230<img src="{@docRoot}sdk/images/4.0/usage-maps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
231<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1.75em;"><!--<strong>Figure 3.</strong>--> Data usage controls let you monitor total usage by network type and application and then set limits if needed.</div>
232</div>
233</div>
234
235<p style="margin-top:1em;margin-bottom:.75em;"><strong>Control over network
236data</strong></p>
237
238<p>Mobile devices can make extensive use of network data for streaming content,
239synchronizing data, downloading apps, and more. To meet the needs of users with
240<strong>tiered or metered data plans</strong>, Android 4.0 adds new controls for
241managing network data usage.</p>
242
243<p>In the Settings app, colorful charts show the total data usage on each
244network type (mobile or Wi-Fi), as well as amount of data used by each running
245application. Based on their data plans, users can optionally set warning levels
246or hard limits on data usage or disable mobile data altogether. Users can also
247manage the background data used by individual applications as needed.</p>
248
249
250<p style="margin-top:1em;margin-bottom:.75em;"><strong>Designed for
251accessibility</strong></p>
252
253<p>A variety of new features greatly enhance the accessibility of Android 4.0
254for blind or visually impaired users. Most important is a new
255<strong>explore-by-touch mode</strong> that lets users navigate without having
256to see the screen. Touching the screen once triggers audible feedback that
257identifies the UI component below; a second touch in the same component
258activates it with a full touch event. The new mode is especially important to
259support users on new devices that use virtual buttons in the System Bar, rather
260than dedicated hardware buttons or trackballs. Also, standard apps are updated
261to offer an improved accessibility experience. The <strong>Browser</strong>
262supports a script-based screen reader for reading favorite web content and
263navigating sites. For improved readability, users can also increase the default
264font size used across&nbsp;the&nbsp;system.</p>
265
266<p>The accessibility experience begins at first setup &mdash; a simple
267<strong>touch gesture</strong> during setup (clockwise square from upper left)
268activates all accessibility features and loads a setup tutorial. Once
269accessibility features are active, everything visible on the screen can be
270spoken aloud by the standard screen reader.</p>
271
272
273<h3 id="comms" style="color:#172861">Communication and sharing</h3>
274
275<div style="padding-top:0em;">
276<div style="margin-right:1em;float:right;margin-left:.5em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:490px">
277<!--<img src="{@docRoot}sdk/images/4.0/contact-call.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" />-->
278<a href="{@docRoot}sdk/images/4.0/contact-faves-lg.png" target="_android">
279<img src="{@docRoot}sdk/images/4.0/contact-faves.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
280<a href="{@docRoot}sdk/images/4.0/contact-connect-lg.png" target="_android">
281<img src="{@docRoot}sdk/images/4.0/contact-connect.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
282<a href="{@docRoot}sdk/images/4.0/contact-email-lg.png" target="_android">
283<img src="{@docRoot}sdk/images/4.0/contact-email.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;padding:0" /></a>
284
285<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->Contacts and profiles are integrated across apps and social networks, for a consistent, personal experience everywhere &mdash; from incoming calls to emails.</div>
286</div>
287</div>
288
289<p>Designed for the way people live, Android 4.0 integrates rich social
290communication and sharing touchpoints across the system, making it easy to talk,
291email, text, and share.</p>
292
293
294<p style="margin-top:1em;margin-bottom:.75em;"><strong>People and
295profiles</strong></p>
296
297<p>Throughout the system, a users social groups, profiles, and contacts are
298linked together and integrated for easy accessibility. At the center is a new
299<strong>People app</strong> that offers richer profile information, including a
300large profile picture, phone numbers, addresses and accounts, status updates,
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700301events, and a new button for connecting on integrated social networks. </p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700302
303<p>The user's own contact information is stored in a new <strong>"Me"
304profile</strong>, allowing easier sharing with apps and people. All of the
305user's integrated contacts are displayed in an easy to manage list, including
306controls over which contacts are shown from any integrated account or social
307network. Wherever the user navigates across the system, tapping a profile photo
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700308displays Quick Contacts, with large profile pictures, shortcuts to phone numbers,
309text messaging, and more. </p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700310
311
312<p style="margin-top:1em;margin-bottom:.75em;"><strong>Unified calendar, visual
313voicemail</strong></p>
314
315<p>To help organize appointments and events, an updated <strong>Calendar
316app</strong> brings together personal, work, school, and social agendas. With
317user permission, other applications can contribute events to the calendar and
318manage reminders, for an integrated view across multiple calendar providers. The
319app is redesigned to let users manage events more easily. Calendars are
320color-coded and users can <strong>swipe left or right</strong> to change dates
321and pinch to zoom in or out agendas. </p>
322
323<p>In the phone app, a new <strong>visual voicemail</strong> features integrates
324incoming messages, voice transcriptions, and audio files from one or more
325providers. Third-party applications can integrate with the Phone app to add
326their own voice messages, transcriptions, and more to the visual voicemail
327inbox. </p>
328
329<div style="padding-top:0em;">
330<div style="margsin-right:0em;float:left;width:282px;padding-top:1em;">
331<a href="{@docRoot}sdk/images/4.0/camera-lg.png" target="_android">
332<img src="{@docRoot}sdk/images/4.0/camera.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
333<a href="{@docRoot}sdk/images/4.0/gallery-edit-lg.png" target="_android">
334<img src="{@docRoot}sdk/images/4.0/gallery-edit.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
335<a href="{@docRoot}sdk/images/4.0/gallery-share-lg.png" target="_android">
336<img src="{@docRoot}sdk/images/4.0/gallery-share.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
337<div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:2.75em;">Capture the picture you want, edit, and share instantly. </div>
338</div>
339</div>
340
341<p style="margin-top:1em;margin-bottom:.75em;"><strong>Rich and versatile camera
342capabilities</strong></p>
343
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700344<p>The Camera app includes many new features that let users capture special moments
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700345with great photos and videos. After capturing images, they can edit and share
346them easily with friemds. </p>
347
348<p>When taking pictures, <strong>continuous focus</strong>, <strong>zero shutter
349lag exposure</strong>, and decreased shot-to-shot speed help capture clear,
350precise images. <strong>Stabilized image zoom</strong> lets users compose photos
351and video in the way they want, including while video is recording. For new
352flexibility and convenience while shooting video, users can now take
353<strong>snapshots at full video resolution</strong> just by tapping the screen
354as video continues to record.</p>
355
356<p>To make it easier to take great pictures of people, built-in <strong>face
357detection</strong> locates faces in the frame and automatically sets focus. For
358more control, users can <strong>tap to focus</strong> anywhere in the preview
359image. </p>
360
361<p>For capturing larger scenes, the Camera introduces a <strong>single-motion
362panorama</strong> mode. In this mode, the user starts an exposure and then
363slowly turns the Camera to encompass as wide a perspective as needed. The Camera
364assembles the full range of continuous imagery into a single panoramic
365photo.</p>
366
367<p>After taking a picture or video, users can quickly share it by email, text
368message, bluetooth, social networks, and more, just by tapping the thumbnail in
369the camera controls. </p>
370
371
372<div style="padding-top:0em;">
373<div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:160px">
374<img src="{@docRoot}sdk/images/4.0/gallery-widget.png" alt="" width="144" style="border:1px solid #ddd;border-radius: 6px;" />
375<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em">A Photo Gallery widget on the home screen.</div>
376</div>
377
378<p style="margin-top:1em;margin-bottom:.75em;"><strong>Redesigned Gallery app
379with photo editor</strong></p>
380
381<p>The Gallery app now makes it easier to manage, show, and share photos and
382videos. For managing collections, a <strong>redesigned album layout</strong>
383shows many more albums and offers larger thumbnails. There are many ways to sort
384albums, including by time, location, people, and tags. To help pictures look
385their best, the Gallery now includes a powerful <strong>photo editor</strong>.
386Users can crop and rotate pictures, set levels, remove red eyes, add effects,
387and much more. After retouching, users can select one or multiple pictures or
388videos to share instantly over email, text messaging, bluetooth, social
389networks, or other apps.</p>
390
391<p>An improved <strong>Picture Gallery widget</strong> lets users look at
392pictures directly on their home screen. The widget can display pictures from a
393selected album, shuffle pictures from all albums, or show a single image. After
394adding the widget to the home screen, users can flick through the photo stacks
395to locate the image they want, then tap to load it in Gallery. </p>
396
397<div style="padding-top:0em;clear:right;">
398<div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:320px">
399<img src="{@docRoot}sdk/images/4.0/live-effects.png" alt="" width="297" style="border:1px solid #ddd;border-radius: 6px;" />
400<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Live Effects let you change backgrounds and use Silly Faces during video.</div>
401</div>
402</div>
403
404<p style="margin-top:1em;margin-bottom:.75em;"><strong>Live Effects for transforming video</strong></p>
405
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700406<p>Live Effects is a collection of graphical transformations that add interest
Dirk Dougherty685ce062011-10-20 14:20:36 -0700407and fun to videos captured in the Camera app. For example, users can
408<strong>change the background</strong> behind them to any stock or custom image,
409for just the right setting when shooting videeo. Also available for video is
410Silly Faces, a set of morphing effects that use state-of-the-art face
411recognition and GPU filters to transform facial features. For example, you can
412use effects such as small eyes, big mouth, big nose, face squeeze, and more.
413Outside of the Camera app, Live Effects is available during video chat in the
414Google Talk app.</p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700415
416<div style="padding-top:0em;">
417<div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;">
418<a href="{@docRoot}sdk/images/4.0/screenshot-lg.png" target="_android">
419<img src="{@docRoot}sdk/images/4.0/screenshot.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
420<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"> Snapping a screenshot.</div>
421</div>
422</div>
423</div>
424
425<p style="margin-top:1em;margin-bottom:.75em;"><strong>Sharing with screenshots</strong></p>
426
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700427<p>Users can now share what's on their screens more easily by taking
428screenshots. Hardware buttons let them snap a <strong>screenshot</strong> and
429store it locally. Afterward, they can view, edit, and share the screen shot in
430Gallery or a similar app.</p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700431
432
433<h3 id="cloud" style="color:#172861">Cloud-connected experience</h3>
434
435<div style="padding-top:0em;">
436<div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:0;padding-bottom:0;width:326px">
437<a href="{@docRoot}sdk/images/4.0/browser-tabs-lg.png" target="_android">
438<img src="{@docRoot}sdk/images/4.0/browser-tabs.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
439<a href="{@docRoot}sdk/images/4.0/browser-lg.png" target="_android">
440<img src="{@docRoot}sdk/images/4.0/browser.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
441<div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure 3.</strong>-->The Browser tabs menu <em>(left)</em> lets you quickly switch browser tabs. The options menu <em>(right)</em> gives you new ways to manage your browsing experience.</div>
442<img src="{@docRoot}sdk/images/4.0/bbench.png" alt="" width="310" />
443<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Benchmark comparisons of Android Browser.</div>
444</div>
445</div>
446
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700447<p>Android has always been cloud-connected, letting users browse the web and
448sync photos, apps, games, email, and contacts &mdash; wherever they are and
449across all of their devices. Android 4.0 adds new browsing and email
450capabilities to let users take even more with them and keep communication
451organized.</p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700452
453
454<p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful web
455browsing</strong></p>
456
457<p>The Android Browser offers an experience that’s as rich and convenient as a
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700458desktop browser. It lets users instantly sync and manage <strong>Google Chrome
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700459bookmarks</strong> from all of their accounts, jump to their favorite content
460faster, and even save it for reading later in case there's no network
461available.</p>
462
463<p>To get the most out of web content, users can now request full
464<strong>desktop versions</strong> of web sites, rather than their mobile
465versions. Users can set their preference for web sites separately for each
466<strong>browser tab</strong>. For longer content, users can save a copy for
467<strong>offline reading</strong>. To find and open saved pages, users can browse
468a visual list thats included with browser bookmarks and history. For better
469readability and accessibility, users can increase the browsers <strong>zoom
470levels</strong> and override the system default <strong>text sizes</strong>.</p>
471
472<p>Across all types of content, the Android Browser offers dramatically improved
473<strong>page rendering performance</strong> through updated versions of the
474WebKit core and the V8 Crankshaft compilation engine for JavaScript. In
475benchmarks run on a Nexus S device, the Android 4.0 browser showed an
476improvement of nearly 220% over the Android 2.3 browser in the V8 Benchmark
477Suite and more than 35% in the SunSpider 9.1 JavaScript Benchmark. When run on a
478Galaxy Nexus device, the Android 4.0 browser showed improvement of nearly 550%
479in the V8 benchmark and nearly 70% in the SunSpider benchmark.</p>
480
481
482<p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved
483email</strong></p>
484
485<p>In Android 4.0, email is easier to send, read, and manage. For composing
486email, <strong>improved auto-completion</strong> of recipients helps with
487finding and adding frequent contacts more quickly. For easier input of frequent
488text, users can now create <strong>quick responses</strong> and store them in
489the app, then enter them from a convenient menu when composing. When replying to
490a message, users can now toggle the message to Reply All and Forward without
491changing screens.</p>
492
493<p>For easier browsing across accounts and labels, the app adds an
494<strong>integrated menu</strong> of accounts and recent labels. To help users
495locate and organize IMAP and Exchange email, the Email app now supports
496<strong>nested mail subfolders</strong>, each with synchronization rules. Users
497can also search across folders on the server, for faster results. </p>
498
499<p>For <strong>enterprises</strong>, the Email app supports EAS v14. It supports
500EAS certificate authentication, provides ABQ strings for device type and mode,
501and allows automatic sync to be disabled while roaming. Administrators can also
502limit attachment size or disable attachments.</p>
503
504<p>For keeping track of incoming email more easily, a <strong>resizable Email
505widget</strong> lets users flick through recent email right from the home
506screen, then jump into the Email app to compose or reply.</p>
507
508
509<div style="padding-top:0em;">
510<div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;">
511<a href="{@docRoot}sdk/images/4.0/beam-lg.png" target="_android">
512<img src="{@docRoot}sdk/images/4.0/beam.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
513<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em;padding-right:1.5em;">Android Beam lets users share what they are using with a single tap.</div>
514</div>
515</div>
516
517<h3 id="innovation" style="color:#172861">Innovation</h3>
518
519<p>Android is continously driving innovation forward, pushing the boundaries of
520communication and sharing with new capabilities and interactions.</p>
521
522<p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam for
523NFC-based sharing</strong></p>
524
525<p>Android Beam is an innovative, convenient feature for sharing across two
526NFC-enabled devices, It lets people instantly exchange favorite apps, contacts,
527music, videos &mdash; almost anything. Its incredibly simple and convenient to
528use &mdash; theres no menu to open, application to launch, or pairing needed.
529Just touch one Android-powered phone to another, then tap to send.</p>
530
531<p>For sharing apps, Android Beam pushes a link to the app's details page in
532Android Market. On the other device, the Market app launches and loads the
533details page, for easy downloading of the app. Individual apps can build on
534Android Beam to add other types of interactions, such as passing game scores,
535initiating a multiplayer game or chat, and more.</p>
536
537<div style="padding-top:0em;">
538<div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:160px">
539<a href="{@docRoot}sdk/images/4.0/face-unlock-lg.png" target="_android">
540<img src="{@docRoot}sdk/images/4.0/face-unlock.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a>
541<div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Face recognition lets you unlock your phone with your face.</div>
542</div>
543</div>
544
545<p style="margin-top:1em;margin-bottom:.75em;"><strong>Face Unlock</strong></p>
546
547<p>Android 4.0 introduces a completely new approach to securing a device, making
Dirk Dougherty685ce062011-10-20 14:20:36 -0700548each person's device even more personal &mdash; Face Unlock is a new screen-lock
549option that lets users unlock their devices with their faces. It takes advantage
550of the device front-facing camera and state-of-the-art facial recognition
551technology to register a face during setup and then to recognize it again when
552unlocking the device. Users just hold their devices in front of their faces to
553unlock, or use a backup PIN or pattern. </p>
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700554
555
556<p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct and Bluetooth HDP</strong></p>
557
558<p>Support for <strong>Wi-Fi Direct</strong> lets users connect directly to
559nearby peer devices over Wi-Fi, for more reliable, higher-speed communication.
560No internet connection or tethering is needed. Through third-party apps, users
561can connect to compatible devices to take advantage of new features such as
562instant sharing of files, photos, or other media; streaming video or audio from
563another device; or connecting to compatible printers or other devices.</p>
564
565<p>Android 4.0 also introduces built-in support for connecting to <strong>Bluetooth Health Device Profile (HDP)</strong> devices. With support from third-party apps, users can connect to wireless medical devices and sensors in hospitals, fitness centers, homes, and elsewhere. In addition, for connecting to higher quality Bluetooth audio devices, Android 4.0 adds support for Bluetooth Hands Free Profile (HFP) 1.6.</p>
566
567
568<h2 id="DeveloperApis" style="clear:right">New Developer Features</h2>
569
570<!-- <ul>
571<li><a href="#ui-dev">Unified UI framework for phones, tablets, and more</a></li>
572<li><a href="#communication-dev">Communication and sharing</a></li>
573<li><a href="#media-dev">New media capabilities</a></li>
574<li><a href="#connectivity-dev">New types of connectivity</a></li>
575<li><a href="#uicomp-dev">New UI components and capabilities</a></li>
576<li><a href="input-dev">New input types and text services</a></li>
577<li><a href="#accessibility-dev">Enhanced accessibility APIs</a></li>
578<li><a href="#data-dev">Efficient network usage</a></li>
579<li><a href="#security-dev">Security for apps and content</a></li>
580<li><a href="#enterprise-dev">Enhancements for Enterprise</a></li>
581</ul>-->
582
583<h3 id="ui-dev">Unified UI framework for phones, tablets, and more</h3>
584
585<p>Android 4.0 brings a unified UI framework that lets developers create
586elegant, innovative apps for phones, tablets, and more. It includes all of the
587familiar Android 3.x interface elements and APIs &mdash; fragments, content
588loaders, Action Bar, rich notifications, resizable home screen widgets, and more
589&mdash; as well as new elements and APIs.</p>
590
591<p>For developers, the unified UI framework in Android 4.0 means new UI tools,
592consistent design practices, simplified code and resources, and streamlined
593development across the range of Android-powered devices.</p>
594
595<div class="sidebox-wrapper">
596<div class="sidebox" style="border-left:1px solid #22a5ca;background-color:#fff;">
597 <h3>Key Android 3.x developer features, <br>now for phones too</h3>
598
599<p>Core UI</p>
600<ul>
601<li>Fragments and content loaders</li>
602<li>Resizeable home screen widgets</li>
603<li>Rich notifications</li>
604<li>Multi-selection, drag-drop, clipboard</li>
605<li>Improved screen-support API</li>
606<li>Hardware-accelerated 2D graphics</li>
607</ul>
608
609<p>Graphics and animation</p>
610<ul>
611<li>Property-based animation</li>
612<li>Renderscript 3D graphics</li>
613</ul>
614
615<p>Media and connectivity</p>
616<ul>
617<li>HTTP Live streaming</li>
618<li>Bluetooth A2DP and HSP devices</li>
619<li>Support for RTP</li>
620<li>MTP/PTP file transfer</li>
621<li>DRM framework</li>
622<li>Input from keyboard, mouse, gamepad, joystick</li>
623</ul>
624
625<p>Enterprise</p>
626<ul>
627<li>Full device encryption</li>
628<li>DPM policies for encrypted storage and passwords</li>
629</ul>
630</div>
631</div>
632
633<h3 id="communication-dev">Communication and sharing</h3>
634
635<p>Android 4.0 extends social and sharing features to any application on the
636device. Applications can integrate contacts, profile data, and calendar events
637from any of the users activities or social networks.</p>
638
639
640<p style="margin-top:1em;margin-bottom:.75em;"><strong>Social API</strong></p>
641
642<p>A shared social provider and API provide a new unified store for contacts,
643profile data, status updates, and photos. Any app or social network with user
644permission can contribute raw contacts and make them accessible to other apps
645and networks. Applications with user permission can also read profile data from
646the provider and display it in their applications.</p>
647
648<p>The social API lets applications store standard contact data as well as new
649types of content for any given contact, including large profile photos and
650recent activity feedback. Recent activity feedback is a standard way for
651applications to tag a contact with common activity, such as when the user
652calls the contact or sends an email or SMS message. The social provider uses the
653recent activity feedback as a new signal in ranking, such as for name
654auto-complete, to keep the most relevant contacts ranked closest to the top.</p>
655
656<p>Applications can also let users set up a social connection to a contact from
657the People app. When the user touches Add Connection in a contact, the app
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700658sends a public intent that other apps can handle, displaying any UI needed
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700659to create the social connection.</p>
660
661<p>Building on the social API, developers can add powerful new interactions that
662span multiple social networks and contacts sources.</p>
663
664
665<p style="margin-top:1em;margin-bottom:.75em;"><strong>Calendar API</strong></p>
666
667<p>A shared calendar content provider and framework API make it easier for
668developers to add calendar services to their apps.</p>
669
670<p>With user permission, any application can add events to the shared database
671and manage dates, attendees, alerts, and reminders. Applications can also read
672entries from the database, including events contributed by other applications,
673and handle the display of event alerts and reminders. Using the calendar
674provider, applications can take advantage of event data sourced from a variety
675of apps and protocols, to offer innovative ways of viewing and managing a users
Dirk Dougherty9aa41fd2011-10-18 20:53:15 -0700676events. Apps can also use calendar data to improve the relevance of their
Dirk Dougherty052ab1a2011-10-12 15:41:13 -0700677other content.</p>
678
679<p>For lighter-weight access to calendar services, the Calendar app defines a
680set of public Intents for creating, viewing, and editing events. Rather than
681needing to implement a calendar UI and integrate directly with the calendar
682provider, applications can simply broadcast calendar Intents. When the Calendar
683app receives the Intents, it launches the appropriate UI and stores any event
684data entered. Using calendar Intents, for example, apps can let users add events
685directly from lists, dialogs, or home screen widgets, such as for making
686restaurant reservations or booking time with friends.</p>
687
688
689<p style="margin-top:1em;margin-bottom:.75em;"><strong>Visual voicemail
690API</strong></p>
691
692<p>A shared Voicemail provider and API allow developers to build applications
693that contribute to a unified voicemail store. Voicemails are displayed and
694played in the call log tab of the platforms Phone app.</p>
695
696
697<p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam</strong></p>
698
699<p>Android Beam is an NFC-based feature that lets users instantly share
700information about the apps they are using, just by touching two NFC-enabled
701phones together. When the devices are in range &mdash; within a few centimeters
702&mdash; the system sets up an NFC connection and displays a sharing UI. To share
703whatever they are viewing with the other device, users just touch the screen.
704</p>
705
706<p>For developers, Android Beam is a new way of triggering almost any type of
707proximity-based interaction. For example, it can let users instantly exchange
708contacts, set up multiplayer gaming, join a chat or video call, share a photo or
709video, and more. The system provides the low-level NFC support and the sharing
710UI, while the foreground app provides lightweight data to transfer to the other
711device. Developers have complete control over the data that is shared and how it
712is handled, so almost any interaction is possible. For larger payloads,
713developers can even use Android Beam to initiate a connection and transfer the
714data over Bluetooth, without the need for user-visible pairing.</p>
715
716<p>Even if developers do not add custom interactions based on Android Beam they
717can still benefit from it being deeply integrated into Android. By default the
718system shares the apps Android Market URL, so its easy for the user to
719download or purchase the app right away.</p>
720
721
722<p style="margin-top:1em;margin-bottom:.75em;"><strong>Modular sharing
723widget</strong></p>
724
725<p>The UI framework includes a new widget, ShareActionProvider, that lets
726developers quickly embed standard share functionality and UI in the Action Bar
727of their applications. Developers simply add ShareActionProvider to the menu and
728set an intent that describes the desired sharing action. The system handles the
729rest, building up the list of applications that can handle the share intent and
730dispatching the intent when the user chooses from the menu.</p>
731
732
733<h3 id="media-dev">New media capabilities</h3>
734
735<p style="margin-top:1em;margin-bottom:.75em;"><strong>Low-level streaming
736multimedia</strong></p>
737
738<p>Android 4.0 provides a direct, efficient path for low-level streaming
739multimedia. The new path is ideal for applications that need to maintain
740complete control over media data before passing it to the platform for
741presentation. For example, media applications can now retrieve data from any
742source, apply proprietary encryption/decryption, and then send the data to the
743platform for display.</p>
744
745<p>Applications can now send processed data to the platform as a multiplexed
746stream of audio/video content in MPEG-2 transport stream format. The platform
747de-muxes, decodes, and renders the content. The audio track is rendered to the
748active audio device, while the video track is rendered to either a Surface or a
749SurfaceTexture. When rendering to a SurfaceTexture, the application can apply
750subsequent graphics effects to each frame using OpenGL.</p>
751
752<p>To support this low-level streaming, the platform introduces a new native API
753based on <a href="http://www.khronos.org/openmax/al/" target="_top">Khronos
754OpenMAX AL 1.0.1</a>. The API is implemented on the same underlying services as
755the platforms existing OpenSL ES API, so developers can make use of both APIs
756together if needed. Tools support for low-level streaming multimedia will be
757available in an upcoming release of the Android NDK.</p>
758
759
760<p style="margin-top:1em;margin-bottom:.75em;"><strong>New camera
761capabilities</strong></p>
762
763<p>Developers can take advantage of a variety of new camera features in Android
7644.0. ZSL exposure, continuous focus, and image zoom let apps capture better
765still and video images, including during video capture. Apps can even capture
766full-resolution snapshots while shooting video. Apps can now set custom metering
767regions in a camera preview, then manage white balance and exposure dynamically
768for those regions. For easier focusing and image processing, a face-detection
769service identifies and tracks faces in a preview and returns their screen
770coordinates.</p>
771
772
773<p style="margin-top:1em;margin-bottom:.75em;"><strong>Media effects for
774transforming images and video</strong></p>
775
776<p>A set of high-performance transformation filters let developers apply rich
777effects to any image passed as an OpenGL ES 2.0 texture. Developers can adjust
778color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens
779distortion, and apply other effects. The transformations are processed by the
780GPU, so they are fast enough for processing image frames loaded from disk,
781camera, or video stream.</p>
782
783
784<p style="margin-top:1em;margin-bottom:.75em;"><strong>Audio remote
785controls</strong></p>
786
787<p>Android 4.0 adds a new audio remote control API that lets media applications
788integrate with playback controls that are displayed in a remote view. Media
789applications can integrate with a remote music playback control thats built
790into in the platforms lock screen, allowing users to control song selection and
791playback without having to unlock and navigate to the music app.</p>
792
793<p>Using the audio remote control API, any music or media app can register to
794receive media button events from the remote control and then manage play state
795accordingly. The application can also supply metadata to the remote control,
796such as album art or image, play state, track number and description, duration,
797genre, and more.</p>
798
799
800<p style="margin-top:1em;margin-bottom:.75em;"><strong>New media codecs and
801containers</strong></p>
802
803<p>Android 4.0 adds support for additional media types and containers to give
804developers access to the formats they need. For high-quality compressed images,
805the media framework adds support for WebP content. For video, the framework now
806supports streaming VP8 content. For streaming multimedia, the framework supports
807HTTP Live streaming protocol version 3 and encoding of ADTS-contained AAC
808content. Additionally, developers can now use Matroska containers for Vorbis and
809VP8 content.</p>
810
811
812<h3 id="connectivity-dev">New types of connectivity</h3>
813
814<p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct</strong></p>
815
816<p>Developers can use a framework API to discover and connect directly to nearby
817devices over a high-performance, secure Wi-Fi Direct connection. No internet
818connection or hotspot is needed.</p>
819
820<p>Wi-Fi Direct opens new opportunities for developers to add innovative
821features to their applications. Applications can use Wi-Fi Direct to share
822files, photos, or other media between devices or between a desktop computer and
823an Android-powered device. Applications could also use Wi-Fi Direct to stream
824media content from a peer device such as a digital television or audio player,
825connect a group of users for gaming, print files, and more.</p>
826
827
828<p style="margin-top:1em;margin-bottom:.75em;"><strong>Bluetooth Health Device
829Profile (HDP)</strong></p>
830
831<p>Developers can now build powerful medical applications that use Bluetooth to
832communicate with wireless devices and sensors in hospitals, fitness centers,
833homes, and elsewhere. Applications can collect and manage data from HDP source
834devices and transmit it to backend medical applications such as records systems,
835data analysis services, and others.</p>
836
837<p>Using a framework API, applications can use Bluetooth to discover nearby
838devices, establish reliable or streaming data channels, and manage data
839transmission. Applications can supply any IEEE 11073 Manager to retrieve and
840interpret health data from Continua-certified devices such as heart-rate
841monitors, blood meters, thermometers, and scales. </p>
842
843
844<h3 id="uicomp-dev">New UI components and capabilities</h3>
845
846<p style="margin-top:1em;margin-bottom:.75em;"><strong>Layout
847enhancements</strong></p>
848
849<p>A new layout, GridLayout, improves the performance of Android applications by
850supporting flatter view hierarchies that are faster to layout and render.
851Because hierarchies are flatter, developers can also manage alignments between
852components that are visually related to each other even when they are not
853logically related, for precise control over application UI. GridLayout is also
854specifically designed to be configured by drag-and-drop design tools such as the
855ADT Plug-in for Eclipse.</p>
856
857
858<p style="margin-top:1em;margin-bottom:.75em;"><strong>OpenGL ES texture
859views</strong></p>
860
861<p>A new TextureView object lets developers directly integrate OpenGL ES
862textures as rendering targets in a UI hierarchy. The object lets developers
863display and manipulate OpenGL ES rendering just as they would a normal view
864object in the hierarchy, including moving, transforming, and animating the view
865as needed. The TextureView object makes it easy for developers to embed camera
866preview, decoded video, OpenGL game scenes, and more. TextureView can be viewed
867as a more powerful version of the existing SurfaceView object, since it offers
868the same benefits of access to a GL rendering surface, with the added advantage
869of having that surface participate fully in the normal view hierarchy.</p>
870
871
872<p style="margin-top:1em;margin-bottom:.75em;"><strong>Hardware-accelerated 2D
873drawing</strong></p>
874
875<p>All Android-powered devices running Android 4.0 are required to support
876hardware-accelerated 2D drawing. Developers can take advantage of this to add
877great UI effects while maintaining optimal performance on high-resolution
878screens, even on phones. For example, developers can rely on accelerated
879scaling, rotation, and other 2D operations, as well as accelerated UI components
880such as TextureView and compositing modes such as filtering, blending, and
881opacity.</p>
882
883
884<h3 id="input-dev">New input types and text services</h3>
885
886<p style="margin-top:1em;margin-bottom:.75em;"><strong>Stylus input, button
887support, hover events</strong></p>
888
889<p>Android 4.0 includes full support for stylus input events, including tilt and
890distance axes, pressure, and related motion event properties. To help
891applications distinguish motion events from different sources, the platform adds
892distinct tool types for stylus, finger, mouse, and eraser. For improved input
893from multi-button pointing devices, the platform now provides distinct primary,
894secondary, and tertiary buttons, as well as back and forward buttons.
895Hover-enter and hover-exit events are also added, for improved navigation and
896accessibility. Developers can build on these new input features to add powerful
897interactions to their apps, such as precise drawing and gesturing, handwriting
898and shape recognition, improved mouse input, and others.</p>
899
900
901<p style="margin-top:1em;margin-bottom:.75em;"><strong>Text services API for
902integrating spelling checkers</strong></p>
903
904<p>Android 4.0 lets applications query available text services such as
905dictionaries and spell checkers for word suggestions, corrections, and similar
906data. The text services are external to the active IME, so developers can create
907and distribute dictionaries and suggestion engines that plug into the platform.
908When an application receives results from a text service &mdash; for example,
909word suggestions &mdash; it can display them in a dedicated suggestion popup
910window directly inside the text view, rather than relying on the IME to display
911them. </p>
912
913
914<h3 id="accessibility-dev">Enhanced accessibility APIs</h3>
915
916<p>Android 4.0 adds new accessibility features and an enhanced API to let
917developers improve the user experience in their apps, especially on devices that
918dont have hardware buttons. For accessibility services such as screen readers
919in particular, the platform offers new APIs to query window content, for easier
920navigation, better feedback, and richer user interfaces.</p>
921
922
923<p style="margin-top:1em;margin-bottom:.75em;"><strong>Accessibility
924API</strong></p>
925
926<p>To let applications manage interactions more effectively when accessibility
927features are enabled, the platform adds accessibility events for
928explore-by-touch mode, scrolling, and text selection. For these and other
929events, the platform can attach a new object called an accessibility record that
930provides extra information about the event context.</p>
931
932<p>Using the accessibility record and related APIs, applications can now access
933the view hierarchy associated with an event. Applications can query for key
934properties such as parent and child nodes, available states, supported actions,
935screen position, and more. Applications can also request changes to certain
936properties to help manage focus and selected state. For example, an
937accessibility service could use these new capabilities to add convenient
938features such as screen-search by text. </p>
939
940
941<p style="margin-top:1em;margin-bottom:.75em;"><strong>Text-to-speech
942API</strong></p>
943
944<p>A new framework API lets developers write text-to-speech engines and make
945them available to any app requesting TTS capabilities.</p>
946
947
948<h3 id="data-dev">Efficient network usage</h3>
949
950<p>In Android 4.0, users can see how much network data their running apps are
951using. They can also set limits on data usage by network type and disable
952background data usage for specific applications. In this context, developers
953need to design their apps to run efficiently and follow best practices for
954checking the network connection. Android 4.0 provides network APIs to let
955applications meet those goals.</p>
956
957<p>As users move between networks or set limits on network data, the platform
958lets applications query for connection type and availability. Developers can use
959this information to dynamically manage network requests to ensure the best
960experience for users. Developers can also build custom network and data-usage
961options into their apps, then expose them to users directly from Settings by
962means of a new system Intent.</p>
963
964
965<h3 id="security-dev">Security for apps and content</h3>
966
967<p style="margin-top:1em;margin-bottom:.75em;"><strong>Secure management of
968credentials</strong></p>
969
970<p>Android 4.0 makes it easier for applications to manage authentication and
971secure sessions. A new keychain API and underlying encrypted storage let
972applications store and retrieve private keys and their corresponding certificate
973chains. Any application can use the keychain API to install and store user
974certificates and CAs securely.</p>
975
976
977<p style="margin-top:1em;margin-bottom:.75em;"><strong>Address Space Layout
978Randomization</strong></p>
979
980<p>Android 4.0 now provides address space layout randomization (ASLR) to help
981protect system and third party applications from exploitation due to
982memory-management issues.</p>
983
984
985<h3 id="enterprise-dev">Enhancements for Enterprise</h3>
986
987<p style="margin-top:1em;margin-bottom:.75em;"><strong>VPN client
988API</strong></p>
989
990<p>Developers can now build or extend their own VPN solutions on the platform
991using a new VPN API and underlying secure credential storage. With user
992permission, applications can configure addresses and routing rules, process
993outgoing and incoming packets, and establish secure tunnels to a remote server.
994Enterprises can also take advantage of a standard VPN client built into the
995platform that provides access to L2TP and IPSec protocols.</p>
996
997
998<p style="margin-top:1em;margin-bottom:.75em;"><strong>Device policy management
999for camera</strong></p>
1000
1001<p>The platform adds a new policy control for administrators who manage devices
1002using an installed Device Policy Manager. Administrators can now remotely
1003disable the camera on a managed device for users working in sensitive
1004environments.</p>
1005
1006
1007
1008
1009