Home | History | Annotate | Download | only in versions
      1 page.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
     43 introduces innovative features for users and developers. This document provides
     44 a glimpse of the many new features and technologies that make Android 4.0
     45 simple, beautiful, and beyond smart. <!--For technical details about
     46 new developer APIs described below, see the <a
     47 href="{@docRoot}about/versions/android-4.0.html">Android 4.0 API Overview</a>
     48 document.--></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
     59 style="margin-left:10px;float:right;xborder:1px solid #ddd;border-radius: 5px;"
     60 src="{@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
     62 style="margin-left:20px;float:right;border:1px solid #ddd;border-radius: 5px;"
     63 src="{@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
     70 multitasking, rich notifications, customizable home screens, resizable widgets,
     71 and deep interactivity &mdash; and adds powerful new ways of communicating and
     72 sharing.</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
     78 simple, intuitive gestures. Refined <strong>animations</strong> and feedback
     79 throughout the system make interactions engaging and interesting. An entirely
     80 <strong>new typeface</strong> optimized for high-resolution screens improves
     81 readability 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,
     84 and Recent Apps. The <strong>System Bar</strong> and virtual buttons are present
     85 across all apps, but can be dimmed by applications for full-screen viewing.
     86 Users can access each application's contextual options in the <strong>Action
     87 Bar</strong>, displayed at the top (and sometimes also at the bottom) of the
     88 screen.</p>
     89 
     90 <p><strong>Multitasking</strong> is a key strength of Android and it's made even
     91 easier and more visual on Android 4.0. The Recent Apps button lets users jump
     92 instantly from one task to another using the list in the System Bar. The list
     93 pops up to show thumbnail images of apps used recently &mdash; tapping a
     94 thumbnail 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
    100 solid #ddd;border-radius: 6px;" /></a>
    101 <div style="padding-bottom:1em;font-size:.9em;padding-right:1em;">The Recent Apps list makes
    102 multitasking simple.</div>
    103 <a href="{@docRoot}sdk/images/4.0/lock-camera-lg.png" target="_android">
    104 <img src="{@docRoot}sdk/images/4.0/lock-camera.png" alt="" height="240" width="144"
    105 style="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
    107 notifications 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"
    110 style="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"
    113 style="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
    115 respond instantly by&nbsp;text.</div>
    116 </div>
    117 </div>
    118 
    119 <p>Rich and interactive <strong>notifications</strong> let users keep in
    120 constant touch with incoming messages, play music tracks, see real-time updates
    121 from apps, and much more. On smaller-screen devices, notifications appear at the
    122 top of the screen, while on larger-screen devices they appear in the System
    123 Bar.</p>
    124 
    125 <div  style="padding-top:0em;">
    126 <div
    127 style="float:right;margin-left:20px;margin-top:.5em;margin-bottom:0;padding-bottom:
    128 0 ; 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
    131 solid #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"
    134 style="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
    136 3.</strong>-->The All Apps launcher (left) and resizable widgets (right) give you apps and rich
    137 content 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
    143 favorites tray</strong></p>
    144 
    145 <p>New home screen <strong>folders</strong> offer a new way for users to group
    146 their apps and shortcuts logically, just by dragging one onto another. Also, 
    147 in All Apps launcher, users can now simply <strong>drag an app</strong> to get
    148 information 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
    152 apps, shortcuts, folders, and other priority items in or out of the favorites
    153 tray for instant access from any home screen.</p>
    154 
    155 
    156 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Resizable
    157 widgets</strong></p>
    158 
    159 <p>Home screens in Android 4.0 are designed to be content-rich and customizable.
    160 Users can do much more than add shortcuts &mdash; they can embed live
    161 application content directly through interactive <strong>widgets</strong>.
    162 Widgets let users check email, flip through a calendar, play music, check social
    163 streams, and more &mdash; right from the home screen, without having to launch
    164 apps. Widgets are resizable, so users can expand them to show more content or
    165 shrink them to save space.</p>
    166 
    167 
    168 <p style="margin-top:1em;margin-bottom:.75em;"><strong>New lock screen
    169 actions</strong></p>
    170 
    171 <p>The lock screens now let users do more without unlocking. From the slide lock
    172 screen, 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
    174 listening 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
    178 incoming calls</strong></p>
    179 
    180 <p>When an incoming call arrives, users can now quickly <strong>respond by text
    181 message</strong>, without needing to pick up the call or unlock the device. On
    182 the incoming call screen, users simply slide a control to see a list of text
    183 responses and then tap to send and end the call. Users can add their own
    184 responses and manage the list from the Settings app.</p>
    185 
    186 
    187 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Swipe to dismiss
    188 notifications, tasks, and browser tabs</strong></p>
    189 
    190 <p>Android 4.0 makes managing notifications, recent apps, and browser tabs even
    191 easier. Users can now dismiss individual notifications, apps from the Recent
    192 Apps list, and browser tabs with a simple swipe of a finger. </p>
    193 
    194 <div  style="padding-top:0em;">
    195 <div
    196 style="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
    202 3.</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
    207 engine lets you dictate continously.</div>
    208 </div>
    209 </div>
    210 
    211 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved text input and
    212 spell-checking</strong></p>
    213   
    214 <p>The soft keyboard in Android 4.0 makes text input even faster and more
    215 accurate. Error correction and word suggestion are improved through a new set of
    216 default dictionaries and more accurate heuristics for handling cases such as
    217 double-typed characters, skipped letters, and omitted spaces. Word suggestion
    218 is also improved and the suggestion strip is simplified to show only three
    219 words 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
    223 replacement words. With one tap, users can choose from multiple spelling
    224 suggestions, delete a word, or add it to the dictionary. Users can even tap to
    225 see replacement suggestions for words that are spelled correctly. For
    226 specialized features or additional languages, users can now download and install
    227 third-party dictionaries, spell-checkers, and other text services.</p>
    228 
    229 
    230 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful voice input
    231 engine</strong></p>
    232 
    233 <p>Android 4.0 introduces a powerful new voice input engine that offers a
    234 continuous "open microphone" experience and streaming voice recognition. The new
    235 voice input engine lets users dictate the text they want, for as long as they
    236 want, using the language they want. Users can <strong>speak continously</strong> for a prolonged
    237 time, even pausing for intervals if needed, and dictate punctuation to create
    238 correct sentences. As the voice input engine enters text, it underlines possible
    239 dictation errors in gray. After dictating, users can tap the underlined words to
    240 quickly 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
    246 solid #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
    249 solid #ddd;border-radius: 6px;" /></a>
    250 <div style="padding-bottom:1em;font-size:.9em;padding-right:1.75em;"><!--<strong>Figure
    251 3.</strong>--> Data usage controls let you monitor total usage by network type and application and
    252 then set limits if needed.</div>
    253 </div>
    254 </div>
    255 
    256 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Control over network
    257 data</strong></p>
    258 
    259 <p>Mobile devices can make extensive use of network data for streaming content,
    260 synchronizing 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
    262 managing network data usage.</p>
    263 
    264 <p>In the Settings app, colorful charts show the total data usage on each
    265 network type (mobile or Wi-Fi), as well as amount of data used by each running
    266 application. Based on their data plans, users can optionally set warning levels
    267 or hard limits on data usage or disable mobile data altogether. Users can also
    268 manage the background data used by individual applications as needed.</p>
    269 
    270 
    271 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Designed for
    272 accessibility</strong></p>
    273 
    274 <p>A variety of new features greatly enhance the accessibility of Android 4.0
    275 for blind or visually impaired users. Most important is a new
    276 <strong>explore-by-touch mode</strong> that lets users navigate without having
    277 to see the screen. Touching the screen once triggers audible feedback that
    278 identifies the UI component below; a second touch in the same component
    279 activates it with a full touch event. The new mode is especially important to
    280 support users on new devices that use virtual buttons in the System Bar, rather
    281 than dedicated hardware buttons or trackballs. Also, standard apps are updated
    282 to offer an improved accessibility experience. The <strong>Browser</strong>
    283 supports a script-based screen reader for reading favorite web content and
    284 navigating sites. For improved readability, users can also increase the default
    285 font 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)
    289 activates all accessibility features and loads a setup tutorial. Once
    290 accessibility features are active, everything visible on the screen can be
    291 spoken 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
    298 style="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"
    301 style="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"
    304 style="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"
    307 style="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"
    310 style="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
    313 3.</strong>-->Contacts and profiles are integrated across apps and social networks, for a
    314 consistent, 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
    319 communication and sharing touchpoints across the system, making it easy to talk,
    320 email, text, and share.</p>
    321 
    322 
    323 <p style="margin-top:1em;margin-bottom:.75em;"><strong>People and
    324 profiles</strong></p>
    325 
    326 <p>Throughout the system, a users social groups, profiles, and contacts are
    327 linked together and integrated for easy accessibility. At the center is a new
    328 <strong>People app</strong> that offers richer profile information, including a
    329 large profile picture, phone numbers, addresses and accounts, status updates,
    330 events, 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"
    333 profile</strong>, allowing easier sharing with apps and people. All of the
    334 user's integrated contacts are displayed in an easy to manage list, including
    335 controls over which contacts are shown from any integrated account or social
    336 network. Wherever the user navigates across the system, tapping a profile photo
    337 displays Quick Contacts, with large profile pictures, shortcuts to phone numbers,
    338 text messaging, and more. </p>
    339 
    340 
    341 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Unified calendar, visual
    342 voicemail</strong></p>
    343 
    344 <p>To help organize appointments and events, an updated <strong>Calendar
    345 app</strong> brings together personal, work, school, and social agendas. With
    346 user permission, other applications can contribute events to the calendar and
    347 manage reminders, for an integrated view across multiple calendar providers. The
    348 app is redesigned to let users manage events more easily. Calendars are
    349 color-coded and users can <strong>swipe left or right</strong> to change dates
    350 and pinch to zoom in or out agendas. </p>
    351 
    352 <p>In the phone app, a new <strong>visual voicemail</strong> features integrates
    353 incoming messages, voice transcriptions, and audio files from one or more
    354 providers. Third-party applications can integrate with the Phone app to add
    355 their own voice messages, transcriptions, and more to the visual voicemail
    356 inbox. </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
    362 solid #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"
    365 style="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"
    368 style="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,
    370 edit, and share instantly. </div>
    371 </div>
    372 </div>
    373 
    374 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Rich and versatile camera
    375 capabilities</strong></p>
    376 
    377 <p>The Camera app includes many new features that let users capture special moments
    378 with great photos and videos. After capturing images, they can edit and share
    379 them easily with friends. </p>
    380 
    381 <p>When taking pictures, <strong>continuous focus</strong>, <strong>zero shutter
    382 lag exposure</strong>, and decreased shot-to-shot speed help capture clear,
    383 precise images. <strong>Stabilized image zoom</strong> lets users compose photos
    384 and video in the way they want, including while video is recording. For new
    385 flexibility and convenience while shooting video, users can now take
    386 <strong>snapshots at full video resolution</strong> just by tapping the screen
    387 as video continues to record.</p>
    388 
    389 <p>To make it easier to take great pictures of people, built-in <strong>face
    390 detection</strong> locates faces in the frame and automatically sets focus. For
    391 more control, users can <strong>tap to focus</strong> anywhere in the preview
    392 image. </p>
    393 
    394 <p>For capturing larger scenes, the Camera introduces a <strong>single-motion
    395 panorama</strong> mode. In this mode, the user starts an exposure and then
    396 slowly turns the Camera to encompass as wide a perspective as needed. The Camera
    397 assembles the full range of continuous imagery into a single panoramic
    398 photo.</p>
    399 
    400 <p>After taking a picture or video, users can quickly share it by email, text
    401 message, bluetooth, social networks, and more, just by tapping the thumbnail in
    402 the camera controls. </p>
    403 
    404 
    405 <div  style="padding-top:0em;">
    406 <div
    407 style="float:right;margin-left:20px;padding-top:1em;margin-bottom:1em;padding-
    408 bottom : 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
    412 on the home screen.</div>
    413 </div>
    414 
    415 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Redesigned Gallery app
    416 with photo editor</strong></p>
    417 
    418 <p>The Gallery app now makes it easier to manage, show, and share photos and
    419 videos. For managing collections, a <strong>redesigned album layout</strong>
    420 shows many more albums and offers larger thumbnails. There are many ways to sort
    421 albums, including by time, location, people, and tags. To help pictures look
    422 their best, the Gallery now includes a powerful <strong>photo editor</strong>.
    423 Users can crop and rotate pictures, set levels, remove red eyes, add effects,
    424 and much more. After retouching, users can select one or multiple pictures or
    425 videos to share instantly over email, text messaging, bluetooth, social
    426 networks, or other apps.</p>
    427 
    428 <p>An improved <strong>Picture Gallery widget</strong> lets users look at
    429 pictures directly on their home screen. The widget can display pictures from a
    430 selected album, shuffle pictures from all albums, or show a single image. After
    431 adding the widget to the home screen, users can flick through the photo stacks
    432 to locate the image they want, then tap to load it in Gallery. </p>
    433 
    434 <div  style="padding-top:0em;clear:right;">
    435 <div
    436 style="float:right;margin-left:20px;padding-top:1em;margin-bottom:1em;padding-
    437 bottom : 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
    441 change 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
    446 video</strong></p>
    447 
    448 <p>Live Effects is a collection of graphical transformations that add interest
    449 and 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,
    451 for just the right setting when shooting videeo. Also available for video is
    452 Silly Faces, a set of morphing effects that use state-of-the-art face
    453 recognition and GPU filters to transform facial features. For example, you can
    454 use effects such as small eyes, big mouth, big nose, face squeeze, and more.
    455 Outside of the Camera app, Live Effects is available during video chat in the
    456 Google 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"
    462 style="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
    464 screenshot.</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
    472 screenshots. Hardware buttons let them snap a <strong>screenshot</strong> and
    473 store it locally. Afterward, they can view, edit, and share the screen shot in
    474 Gallery 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
    481 style="float:right;margin-left:20px;padding-top:1em;margin-bottom:0;padding-bottom:
    482 0 ; 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"
    485 style="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
    488 solid #ddd;border-radius: 6px;" /></a>
    489 <div style="padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"><!--<strong>Figure
    490 3.</strong>-->The Browser tabs menu <em>(left)</em> lets you quickly switch browser tabs. The
    491 options 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
    494 Android Browser.</div>
    495 </div>
    496 </div>
    497 
    498 <p>Android has always been cloud-connected, letting users browse the web and
    499 sync photos, apps, games, email, and contacts &mdash; wherever they are and
    500 across all of their devices. Android 4.0 adds new browsing and email
    501 capabilities to let users take even more with them and keep communication
    502 organized.</p>
    503 
    504 
    505 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful web
    506 browsing</strong></p>
    507 
    508 <p>The Android Browser offers an experience thats as rich and convenient as a
    509 desktop browser. It lets users instantly sync and manage <strong>Google Chrome
    510 bookmarks</strong> from all of their accounts, jump to their favorite content
    511 faster, and even save it for reading later in case there's no network
    512 available.</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
    516 versions. 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
    519 a visual list thats included with browser bookmarks and history.  For better
    520 readability and accessibility, users can increase the browsers <strong>zoom
    521 levels</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
    525 WebKit core and the V8 Crankshaft compilation engine for JavaScript. In
    526 benchmarks run on a Nexus S device, the Android 4.0 browser showed an
    527 improvement of nearly 220% over the Android 2.3 browser in the V8 Benchmark
    528 Suite and more than 35% in the SunSpider 9.1 JavaScript Benchmark. When run on a
    529 Galaxy Nexus device, the Android 4.0 browser showed improvement of nearly 550%
    530 in the V8 benchmark and nearly 70% in the SunSpider benchmark.</p>
    531 
    532 
    533 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved
    534 email</strong></p>
    535 
    536 <p>In Android 4.0, email is easier to send, read, and manage. For composing
    537 email, <strong>improved auto-completion</strong> of recipients helps with
    538 finding and adding frequent contacts more quickly. For easier input of frequent
    539 text, users can now create <strong>quick responses</strong> and store them in
    540 the app, then enter them from a convenient menu when composing. When replying to
    541 a message, users can now toggle the message to Reply All and Forward without
    542 changing 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
    546 locate and organize IMAP and Exchange email, the Email app now supports
    547 <strong>nested mail subfolders</strong>, each with synchronization rules. Users
    548 can 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
    551 EAS certificate authentication, provides ABQ strings for device type and mode,
    552 and allows automatic sync to be disabled while roaming. Administrators can also
    553 limit attachment size or disable attachments.</p>
    554 
    555 <p>For keeping track of incoming email more easily, a <strong>resizable Email
    556 widget</strong> lets users flick through recent email right from the home
    557 screen, 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
    566 style="padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em;padding-right:1.5em;">Android
    567 Beam 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
    574 communication and sharing with new capabilities and interactions.</p>
    575 
    576 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam for
    577 NFC-based sharing</strong></p>
    578 
    579 <p>Android Beam is an innovative, convenient feature for sharing across two
    580 NFC-enabled devices, It lets people instantly exchange favorite apps, contacts,
    581 music, videos &mdash; almost anything. Its incredibly simple and convenient to
    582 use &mdash; theres no menu to open, application to launch, or pairing needed.
    583 Just 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
    586 Google Play. On the other device, the Google Play client app launches and loads the
    587 details page, for easy downloading of the app. Individual apps can build on
    588 Android Beam to add other types of interactions, such as passing game scores,
    589 initiating a multiplayer game or chat, and more.</p>
    590 
    591 <div  style="padding-top:0em;">
    592 <div
    593 style="float:right;margin-left:20px;margin-top:.5em;margin-bottom:0;padding-bottom:
    594 0 ; 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
    598 unlock 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
    605 each person's device even more personal &mdash; Face Unlock is a new screen-lock
    606 option that lets users unlock their devices with their faces. It takes advantage
    607 of the device front-facing camera and state-of-the-art facial recognition
    608 technology to register a face during setup and then to recognize it again when
    609 unlocking the device. Users just hold their devices in front of their faces to
    610 unlock, 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
    616 devices over Wi-Fi, for more reliable, higher-speed communication (in compliance with the Wi-Fi
    617 Alliance's <a href="http://www.wi-fi.org/discover-and-learn/wi-fi-direct"
    618  class="external-link">Wi-Fi Direct&trade;</a>
    619 certification program). No internet connection or tethering is needed. Through third-party apps,
    620 users can connect to compatible devices to take advantage of new features such as instant sharing
    621 of files, photos, or other media; streaming video or audio from another device; or connecting to
    622 compatible 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
    646 elegant, innovative apps for phones, tablets, and more. It includes all of the
    647 familiar Android 3.x interface elements and APIs &mdash; fragments, content
    648 loaders, 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,
    652 consistent design practices, simplified code and resources, and streamlined
    653 development 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
    696 device. Applications can integrate contacts, profile data, stream items, 
    697 and calendar events from any of the users 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,
    703 profile data, stream items, and photos. Any app or social network with user
    704 permission can contribute raw contacts and make them accessible to other apps
    705 and networks. Applications with user permission can also read profile data from
    706 the provider and display it in their applications.</p>
    707 
    708 <p>The social API lets applications store standard contact data as well as new
    709 types of content for any given contact, including large profile photos, stream
    710 items, and recent activity feedback. Recent activity feedback is a standard way for
    711 applications to tag a contact with common activity, such as when the user
    712 calls the contact or sends an email or SMS message. The social provider uses the
    713 recent activity feedback as a new signal in ranking, such as for name
    714 auto-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
    717 the People app. When the user touches Add Connection in a contact, the app
    718 sends a public intent that other apps can handle, displaying any UI needed
    719 to create the social connection.</p>
    720 
    721 <p>Building on the social API, developers can add powerful new interactions that
    722 span 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
    728 developers to add calendar services to their apps.</p>
    729 
    730 <p>With user permission, any application can add events to the shared database
    731 and manage dates, attendees, alerts, and reminders. Applications can also read
    732 entries from the database, including events contributed by other applications,
    733 and handle the display of event alerts and reminders. Using the calendar
    734 provider, applications can take advantage of event data sourced from a variety
    735 of apps and protocols, to offer innovative ways of viewing and managing a users
    736 events. Apps can also use calendar data to improve the relevance of their
    737 other content.</p>
    738 
    739 <p>For lighter-weight access to calendar services, the Calendar app defines a
    740 set of public Intents for creating, viewing, and editing events. Rather than
    741 needing to implement a calendar UI and integrate directly with the calendar
    742 provider, applications can simply broadcast calendar Intents. When the Calendar
    743 app receives the Intents, it launches the appropriate UI and stores any event
    744 data entered. Using calendar Intents, for example, apps can let users add events
    745 directly from lists, dialogs, or home screen widgets, such as for making
    746 restaurant reservations or booking time with friends.</p>
    747 
    748 
    749 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Visual voicemail
    750 API</strong></p>
    751 
    752 <p>A shared Voicemail provider and API allow developers to build applications
    753 that contribute to a unified voicemail store.  Voicemails are displayed and
    754 played in the call log tab of the platforms 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
    760 information about the apps they are using, just by touching two NFC-enabled
    761 phones 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
    763 whatever 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
    767 proximity-based interaction. For example, it can let users instantly exchange
    768 contacts, set up multiplayer gaming, join a chat or video call, share a photo or
    769 video, and more. The system provides the low-level NFC support and the sharing
    770 UI, while the foreground app provides lightweight data to transfer to the other
    771 device. Developers have complete control over the data that is shared and how it
    772 is handled, so almost any interaction is possible. For larger payloads,
    773 developers can even use Android Beam to initiate a connection and transfer the
    774 data 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
    777 can still benefit from it being deeply integrated into Android. By default the
    778 system shares the apps Google Play URL, so its easy for the user to
    779 download or purchase the app right away.</p>
    780 
    781 
    782 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Modular sharing
    783 widget</strong></p>
    784 
    785 <p>The UI framework includes a new widget, ShareActionProvider, that lets
    786 developers quickly embed standard share functionality and UI in the Action Bar
    787 of their applications. Developers simply add ShareActionProvider to the menu and
    788 set an intent that describes the desired sharing action. The system handles the
    789 rest, building up the list of applications that can handle the share intent and
    790 dispatching 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
    796 multimedia</strong></p>
    797 
    798 <p>Android 4.0 provides a direct, efficient path for low-level streaming
    799 multimedia. The new path is ideal for applications that need to maintain
    800 complete control over media data before passing it to the platform for
    801 presentation. For example, media applications can now retrieve data from any
    802 source, apply proprietary encryption/decryption, and then send the data to the
    803 platform for display.</p>
    804 
    805 <p>Applications can now send processed data to the platform as a multiplexed
    806 stream of audio/video content in MPEG-2 transport stream format. The platform
    807 de-muxes, decodes, and renders the content. The audio track is rendered to the
    808 active audio device, while the video track is rendered to either a Surface or a
    809 SurfaceTexture. When rendering to a SurfaceTexture, the application can apply
    810 subsequent graphics effects to each frame using OpenGL.</p>
    811 
    812 <p>To support this low-level streaming, the platform introduces a new native API
    813 based on <a href="http://www.khronos.org/openmax/al/" target="_top">Khronos
    814 OpenMAX AL 1.0.1</a>. The  API is implemented on the same underlying services as
    815 the platforms existing OpenSL ES API, so developers can make use of both APIs
    816 together if needed. Tools support for low-level streaming multimedia will be
    817 available in an upcoming release of the Android NDK.</p>
    818 
    819 
    820 <p style="margin-top:1em;margin-bottom:.75em;"><strong>New camera
    821 capabilities</strong></p>
    822 
    823 <p>Developers can take advantage of a variety of new camera features in Android
    824 4.0. ZSL exposure, continuous focus, and image zoom let apps capture better
    825 still and video images, including during video capture. Apps can even capture
    826 full-resolution snapshots while shooting video. Apps can now set custom metering
    827 regions in a camera preview, then manage white balance and exposure dynamically
    828 for those regions. For easier focusing and image processing, a face-detection
    829 service identifies and tracks faces in a preview and returns their screen
    830 coordinates.</p>
    831 
    832 
    833 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Media effects for
    834 transforming images and video</strong></p>
    835 
    836 <p>A set of high-performance transformation filters let developers apply rich
    837 effects to any image passed as an OpenGL ES 2.0 texture. Developers can adjust
    838 color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens
    839 distortion, and apply other effects. The transformations are processed by the
    840 GPU, so they are fast enough for processing image frames loaded from disk,
    841 camera, or video stream.</p>
    842 
    843 
    844 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Audio remote
    845 controls</strong></p>
    846 
    847 <p>Android 4.0 adds a new audio remote control API that lets media applications
    848 integrate with playback controls that are displayed in a remote view. Media
    849 applications can integrate with a remote music playback control thats built
    850 into in the platforms lock screen, allowing users to control song selection and
    851 playback 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
    854 receive media button events from the remote control and then manage play state
    855 accordingly. The application can also supply metadata to the remote control,
    856 such as album art or image, play state, track number and description, duration,
    857 genre, and more.</p>
    858 
    859 
    860 <p style="margin-top:1em;margin-bottom:.75em;"><strong>New media codecs and
    861 containers</strong></p>
    862 
    863 <p>Android 4.0 adds support for additional media types and containers to give
    864 developers access to the formats they need. For high-quality compressed images,
    865 the media framework adds support for WebP content. For video, the framework now
    866 supports streaming VP8 content. For streaming multimedia, the framework supports
    867 HTTP Live streaming protocol version 3 and encoding of ADTS-contained AAC
    868 content. Additionally, developers can now use Matroska containers for Vorbis and
    869 VP8 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
    877 high-performance, secure Wi-Fi peer-to-peer (P2P) connection. No internet connection or hotspot is
    878 needed. 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>
    880 certification program.</p>
    881 
    882 
    883 <p>Wi-Fi peer-to-peer (P2P) opens new opportunities for developers to add innovative
    884 features to their applications. Applications can use Wi-Fi P2P to share
    885 files, photos, or other media between devices or between a desktop computer and
    886 an Android-powered device. Applications could also use Wi-Fi P2P to stream
    887 media content from a peer device such as a digital television or audio player,
    888 connect 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
    892 Profile (HDP)</strong></p>
    893 
    894 <p>Developers can now build powerful medical applications that use Bluetooth to
    895 communicate with wireless devices and sensors in hospitals, fitness centers,
    896 homes, and elsewhere. Applications can collect and manage data from HDP source
    897 devices and transmit it to backend medical applications such as records systems,
    898 data analysis services, and others.</p>
    899 
    900 <p>Using a framework API, applications can use Bluetooth to discover nearby
    901 devices, establish reliable or streaming data channels, and manage data
    902 transmission. Applications can supply any IEEE 11073 Manager to retrieve and
    903 interpret health data from Continua-certified devices such as heart-rate
    904 monitors, 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
    910 enhancements</strong></p>
    911 
    912 <p>A new layout, GridLayout, improves the performance of Android applications by
    913 supporting flatter view hierarchies that are faster to layout and render.
    914 Because hierarchies are flatter, developers can also manage alignments between
    915 components that are visually related to each other even when they are not
    916 logically related, for precise control over application UI. GridLayout is also
    917 specifically designed to be configured by drag-and-drop design tools such as the
    918 ADT Plug-in for Eclipse.</p>
    919 
    920 
    921 <p style="margin-top:1em;margin-bottom:.75em;"><strong>OpenGL ES texture
    922 views</strong></p>
    923 
    924 <p>A new TextureView object lets developers directly integrate OpenGL ES
    925 textures as rendering targets in a UI hierarchy. The object lets developers
    926 display and manipulate OpenGL ES rendering just as they would a normal view
    927 object in the hierarchy, including moving, transforming, and animating the view
    928 as needed. The TextureView object makes it easy for developers to embed camera
    929 preview, decoded video, OpenGL game scenes, and more. TextureView can be viewed
    930 as a more powerful version of the existing SurfaceView object, since it offers
    931 the same benefits of access to a GL rendering surface, with the added advantage
    932 of 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
    936 drawing</strong></p>
    937 
    938 <p>All Android-powered devices running Android 4.0 are required to support
    939 hardware-accelerated 2D drawing. Developers can take advantage of this to add
    940 great UI effects while maintaining optimal performance on high-resolution
    941 screens, even on phones. For example, developers can rely on accelerated
    942 scaling, rotation, and other 2D operations, as well as accelerated UI components
    943 such as TextureView and compositing modes such as filtering, blending, and
    944 opacity.</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
    950 support, hover events</strong></p>
    951 
    952 <p>Android 4.0 includes full support for stylus input events, including tilt and
    953 distance axes, pressure, and related motion event properties. To help
    954 applications distinguish motion events from different sources, the platform adds
    955 distinct tool types for stylus, finger, mouse, and eraser. For improved input
    956 from multi-button pointing devices, the platform now provides distinct primary,
    957 secondary, and tertiary buttons, as well as back and forward buttons.
    958 Hover-enter and hover-exit events are also added, for improved navigation and
    959 accessibility. Developers can build on these new input features to add powerful
    960 interactions to their apps, such as precise drawing and gesturing, handwriting
    961 and shape recognition, improved mouse input, and others.</p>
    962 
    963 
    964 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text services API for
    965 integrating spelling checkers</strong></p>
    966 
    967 <p>Android 4.0 lets applications query available text services such as
    968 dictionaries and spell checkers for word suggestions, corrections, and similar
    969 data. The text services are external to the active IME, so developers can create
    970 and distribute dictionaries and suggestion engines that plug into the platform.
    971 When an application receives results from a text service &mdash; for example,
    972 word suggestions &mdash; it can display them in a dedicated suggestion popup
    973 window directly inside the text view, rather than relying on the IME to display
    974 them. </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
    980 developers improve the user experience in their apps, especially on devices that
    981 dont have hardware buttons. For accessibility services such as screen readers
    982 in particular, the platform offers new APIs to query window content, for easier
    983 navigation, better feedback, and richer user interfaces.</p>
    984 
    985 
    986 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Accessibility
    987 API</strong></p>
    988 
    989 <p>To let applications manage interactions more effectively when accessibility
    990 features are enabled, the platform adds accessibility events for
    991 explore-by-touch mode, scrolling, and text selection. For these and other
    992 events, the platform can attach a new object called an accessibility record that
    993 provides extra information about the event context.</p>
    994 
    995 <p>Using the accessibility record and related APIs, applications can now access
    996 the view hierarchy associated with an event. Applications can query for key
    997 properties such as parent and child nodes, available states, supported actions,
    998 screen position, and more. Applications can also request changes to certain
    999 properties to help manage focus and selected state. For example, an
   1000 accessibility service could use these new capabilities to add convenient
   1001 features such as screen-search by text. </p> 
   1002 
   1003 
   1004 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text-to-speech
   1005 API</strong></p>
   1006 
   1007 <p>A new framework API lets developers write text-to-speech engines and make
   1008 them 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
   1014 using. They can also set limits on data usage by network type and disable
   1015 background data usage for specific applications. In this context, developers
   1016 need to design their apps to run efficiently and follow best practices for
   1017 checking the network connection. Android 4.0 provides network APIs to let
   1018 applications meet those goals.</p>
   1019 
   1020 <p>As users move between networks or set limits on network data, the platform
   1021 lets applications query for connection type and availability. Developers can use
   1022 this information to dynamically manage network requests to ensure the best
   1023 experience for users. Developers can also build custom network and data-usage
   1024 options into their apps, then expose them to users directly from Settings by
   1025 means 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
   1031 credentials</strong></p>
   1032 
   1033 <p>Android 4.0 makes it easier for applications to manage authentication and
   1034 secure sessions. A new keychain API and underlying encrypted storage let
   1035 applications store and retrieve private keys and their corresponding certificate
   1036 chains. Any application can use the keychain API to install and store user
   1037 certificates and CAs securely.</p>
   1038 
   1039 
   1040 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Address Space Layout
   1041 Randomization</strong></p>
   1042 
   1043 <p>Android 4.0 now provides address space layout randomization (ASLR) to help
   1044 protect system and third party applications from exploitation due to
   1045 memory-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
   1051 API</strong></p>
   1052 
   1053 <p>Developers can now build or extend their own VPN solutions on the platform
   1054 using a new VPN API and underlying secure credential storage. With user
   1055 permission, applications can configure addresses and routing rules, process
   1056 outgoing and incoming packets, and establish secure tunnels to a remote server.
   1057 Enterprises can also take advantage of a standard VPN client built into the
   1058 platform that provides access to L2TP and IPSec protocols.</p>
   1059 
   1060 
   1061 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Device policy management
   1062 for camera</strong></p>
   1063 
   1064 <p>The platform adds a new policy control for administrators who manage devices
   1065 using an installed Device Policy Manager. Administrators can now remotely
   1066 disable the camera on a managed device for users working in sensitive
   1067 environments.</p>
   1068 
   1069 
   1070 
   1071 
   1072 
   1073