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