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