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