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 — easy 70 multitasking, rich notifications, customizable home screens, resizable widgets, 71 and deep interactivity — 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 — 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 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 — 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 — 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 the system.</p> 286 287 <p>The accessibility experience begins at first setup — 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 — 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 — 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 — almost anything. Its incredibly simple and convenient to 582 use — 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 — 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 Direct and Bluetooth HDP</strong></p> 614 615 <p>Support for <strong>Wi-Fi Direct</strong> lets users connect directly to 616 nearby peer devices over Wi-Fi, for more reliable, higher-speed communication. 617 No internet connection or tethering is needed. Through third-party apps, users 618 can connect to compatible devices to take advantage of new features such as 619 instant sharing of files, photos, or other media; streaming video or audio from 620 another device; or connecting to compatible printers or other devices.</p> 621 622 <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> 623 624 625 <h2 id="DeveloperApis" style="clear:right">New Developer Features</h2> 626 627 <!-- <ul> 628 <li><a href="#ui-dev">Unified UI framework for phones, tablets, and more</a></li> 629 <li><a href="#communication-dev">Communication and sharing</a></li> 630 <li><a href="#media-dev">New media capabilities</a></li> 631 <li><a href="#connectivity-dev">New types of connectivity</a></li> 632 <li><a href="#uicomp-dev">New UI components and capabilities</a></li> 633 <li><a href="input-dev">New input types and text services</a></li> 634 <li><a href="#accessibility-dev">Enhanced accessibility APIs</a></li> 635 <li><a href="#data-dev">Efficient network usage</a></li> 636 <li><a href="#security-dev">Security for apps and content</a></li> 637 <li><a href="#enterprise-dev">Enhancements for Enterprise</a></li> 638 </ul>--> 639 640 <h3 id="ui-dev">Unified UI framework for phones, tablets, and more</h3> 641 642 <p>Android 4.0 brings a unified UI framework that lets developers create 643 elegant, innovative apps for phones, tablets, and more. It includes all of the 644 familiar Android 3.x interface elements and APIs — fragments, content 645 loaders, Action Bar, rich notifications, resizable home screen widgets, and more 646 — as well as new elements and APIs.</p> 647 648 <p>For developers, the unified UI framework in Android 4.0 means new UI tools, 649 consistent design practices, simplified code and resources, and streamlined 650 development across the range of Android-powered devices.</p> 651 652 <div class="sidebox-wrapper"> 653 <div class="sidebox"> 654 <h3>Key Honeycomb developer features, <br>now for phones too</h3> 655 656 <p>Core UI</p> 657 <ul> 658 <li>Fragments and content loaders</li> 659 <li>Resizeable home screen widgets</li> 660 <li>Rich notifications</li> 661 <li>Multi-selection, drag-drop, clipboard</li> 662 <li>Improved screen-support API</li> 663 <li>Hardware-accelerated 2D graphics</li> 664 </ul> 665 666 <p>Graphics and animation</p> 667 <ul> 668 <li>Property-based animation</li> 669 <li>Renderscript 3D graphics</li> 670 </ul> 671 672 <p>Media and connectivity</p> 673 <ul> 674 <li>HTTP Live streaming</li> 675 <li>Bluetooth A2DP and HSP devices</li> 676 <li>Support for RTP</li> 677 <li>MTP/PTP file transfer</li> 678 <li>DRM framework</li> 679 <li>Input from keyboard, mouse, gamepad, joystick</li> 680 </ul> 681 682 <p>Enterprise</p> 683 <ul> 684 <li>Full device encryption</li> 685 <li>DPM policies for encrypted storage and passwords</li> 686 </ul> 687 </div> 688 </div> 689 690 <h3 id="communication-dev">Communication and sharing</h3> 691 692 <p>Android 4.0 extends social and sharing features to any application on the 693 device. Applications can integrate contacts, profile data, stream items, 694 and calendar events from any of the users activities or social networks.</p> 695 696 697 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Social API</strong></p> 698 699 <p>A shared social provider and API provide a new unified store for contacts, 700 profile data, stream items, and photos. Any app or social network with user 701 permission can contribute raw contacts and make them accessible to other apps 702 and networks. Applications with user permission can also read profile data from 703 the provider and display it in their applications.</p> 704 705 <p>The social API lets applications store standard contact data as well as new 706 types of content for any given contact, including large profile photos, stream 707 items, and recent activity feedback. Recent activity feedback is a standard way for 708 applications to tag a contact with common activity, such as when the user 709 calls the contact or sends an email or SMS message. The social provider uses the 710 recent activity feedback as a new signal in ranking, such as for name 711 auto-complete, to keep the most relevant contacts ranked closest to the top.</p> 712 713 <p>Applications can also let users set up a social connection to a contact from 714 the People app. When the user touches Add Connection in a contact, the app 715 sends a public intent that other apps can handle, displaying any UI needed 716 to create the social connection.</p> 717 718 <p>Building on the social API, developers can add powerful new interactions that 719 span multiple social networks and contacts sources.</p> 720 721 722 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Calendar API</strong></p> 723 724 <p>A shared calendar content provider and framework API make it easier for 725 developers to add calendar services to their apps.</p> 726 727 <p>With user permission, any application can add events to the shared database 728 and manage dates, attendees, alerts, and reminders. Applications can also read 729 entries from the database, including events contributed by other applications, 730 and handle the display of event alerts and reminders. Using the calendar 731 provider, applications can take advantage of event data sourced from a variety 732 of apps and protocols, to offer innovative ways of viewing and managing a users 733 events. Apps can also use calendar data to improve the relevance of their 734 other content.</p> 735 736 <p>For lighter-weight access to calendar services, the Calendar app defines a 737 set of public Intents for creating, viewing, and editing events. Rather than 738 needing to implement a calendar UI and integrate directly with the calendar 739 provider, applications can simply broadcast calendar Intents. When the Calendar 740 app receives the Intents, it launches the appropriate UI and stores any event 741 data entered. Using calendar Intents, for example, apps can let users add events 742 directly from lists, dialogs, or home screen widgets, such as for making 743 restaurant reservations or booking time with friends.</p> 744 745 746 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Visual voicemail 747 API</strong></p> 748 749 <p>A shared Voicemail provider and API allow developers to build applications 750 that contribute to a unified voicemail store. Voicemails are displayed and 751 played in the call log tab of the platforms Phone app.</p> 752 753 754 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam</strong></p> 755 756 <p>Android Beam is an NFC-based feature that lets users instantly share 757 information about the apps they are using, just by touching two NFC-enabled 758 phones together. When the devices are in range — within a few centimeters 759 — the system sets up an NFC connection and displays a sharing UI. To share 760 whatever they are viewing with the other device, users just touch the screen. 761 </p> 762 763 <p>For developers, Android Beam is a new way of triggering almost any type of 764 proximity-based interaction. For example, it can let users instantly exchange 765 contacts, set up multiplayer gaming, join a chat or video call, share a photo or 766 video, and more. The system provides the low-level NFC support and the sharing 767 UI, while the foreground app provides lightweight data to transfer to the other 768 device. Developers have complete control over the data that is shared and how it 769 is handled, so almost any interaction is possible. For larger payloads, 770 developers can even use Android Beam to initiate a connection and transfer the 771 data over Bluetooth, without the need for user-visible pairing.</p> 772 773 <p>Even if developers do not add custom interactions based on Android Beam they 774 can still benefit from it being deeply integrated into Android. By default the 775 system shares the apps Google Play URL, so its easy for the user to 776 download or purchase the app right away.</p> 777 778 779 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Modular sharing 780 widget</strong></p> 781 782 <p>The UI framework includes a new widget, ShareActionProvider, that lets 783 developers quickly embed standard share functionality and UI in the Action Bar 784 of their applications. Developers simply add ShareActionProvider to the menu and 785 set an intent that describes the desired sharing action. The system handles the 786 rest, building up the list of applications that can handle the share intent and 787 dispatching the intent when the user chooses from the menu.</p> 788 789 790 <h3 id="media-dev">New media capabilities</h3> 791 792 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Low-level streaming 793 multimedia</strong></p> 794 795 <p>Android 4.0 provides a direct, efficient path for low-level streaming 796 multimedia. The new path is ideal for applications that need to maintain 797 complete control over media data before passing it to the platform for 798 presentation. For example, media applications can now retrieve data from any 799 source, apply proprietary encryption/decryption, and then send the data to the 800 platform for display.</p> 801 802 <p>Applications can now send processed data to the platform as a multiplexed 803 stream of audio/video content in MPEG-2 transport stream format. The platform 804 de-muxes, decodes, and renders the content. The audio track is rendered to the 805 active audio device, while the video track is rendered to either a Surface or a 806 SurfaceTexture. When rendering to a SurfaceTexture, the application can apply 807 subsequent graphics effects to each frame using OpenGL.</p> 808 809 <p>To support this low-level streaming, the platform introduces a new native API 810 based on <a href="http://www.khronos.org/openmax/al/" target="_top">Khronos 811 OpenMAX AL 1.0.1</a>. The API is implemented on the same underlying services as 812 the platforms existing OpenSL ES API, so developers can make use of both APIs 813 together if needed. Tools support for low-level streaming multimedia will be 814 available in an upcoming release of the Android NDK.</p> 815 816 817 <p style="margin-top:1em;margin-bottom:.75em;"><strong>New camera 818 capabilities</strong></p> 819 820 <p>Developers can take advantage of a variety of new camera features in Android 821 4.0. ZSL exposure, continuous focus, and image zoom let apps capture better 822 still and video images, including during video capture. Apps can even capture 823 full-resolution snapshots while shooting video. Apps can now set custom metering 824 regions in a camera preview, then manage white balance and exposure dynamically 825 for those regions. For easier focusing and image processing, a face-detection 826 service identifies and tracks faces in a preview and returns their screen 827 coordinates.</p> 828 829 830 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Media effects for 831 transforming images and video</strong></p> 832 833 <p>A set of high-performance transformation filters let developers apply rich 834 effects to any image passed as an OpenGL ES 2.0 texture. Developers can adjust 835 color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens 836 distortion, and apply other effects. The transformations are processed by the 837 GPU, so they are fast enough for processing image frames loaded from disk, 838 camera, or video stream.</p> 839 840 841 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Audio remote 842 controls</strong></p> 843 844 <p>Android 4.0 adds a new audio remote control API that lets media applications 845 integrate with playback controls that are displayed in a remote view. Media 846 applications can integrate with a remote music playback control thats built 847 into in the platforms lock screen, allowing users to control song selection and 848 playback without having to unlock and navigate to the music app.</p> 849 850 <p>Using the audio remote control API, any music or media app can register to 851 receive media button events from the remote control and then manage play state 852 accordingly. The application can also supply metadata to the remote control, 853 such as album art or image, play state, track number and description, duration, 854 genre, and more.</p> 855 856 857 <p style="margin-top:1em;margin-bottom:.75em;"><strong>New media codecs and 858 containers</strong></p> 859 860 <p>Android 4.0 adds support for additional media types and containers to give 861 developers access to the formats they need. For high-quality compressed images, 862 the media framework adds support for WebP content. For video, the framework now 863 supports streaming VP8 content. For streaming multimedia, the framework supports 864 HTTP Live streaming protocol version 3 and encoding of ADTS-contained AAC 865 content. Additionally, developers can now use Matroska containers for Vorbis and 866 VP8 content.</p> 867 868 869 <h3 id="connectivity-dev">New types of connectivity</h3> 870 871 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct</strong></p> 872 873 <p>Developers can use a framework API to discover and connect directly to nearby 874 devices over a high-performance, secure Wi-Fi Direct connection. No internet 875 connection or hotspot is needed.</p> 876 877 <p>Wi-Fi Direct opens new opportunities for developers to add innovative 878 features to their applications. Applications can use Wi-Fi Direct to share 879 files, photos, or other media between devices or between a desktop computer and 880 an Android-powered device. Applications could also use Wi-Fi Direct to stream 881 media content from a peer device such as a digital television or audio player, 882 connect a group of users for gaming, print files, and more.</p> 883 884 885 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Bluetooth Health Device 886 Profile (HDP)</strong></p> 887 888 <p>Developers can now build powerful medical applications that use Bluetooth to 889 communicate with wireless devices and sensors in hospitals, fitness centers, 890 homes, and elsewhere. Applications can collect and manage data from HDP source 891 devices and transmit it to backend medical applications such as records systems, 892 data analysis services, and others.</p> 893 894 <p>Using a framework API, applications can use Bluetooth to discover nearby 895 devices, establish reliable or streaming data channels, and manage data 896 transmission. Applications can supply any IEEE 11073 Manager to retrieve and 897 interpret health data from Continua-certified devices such as heart-rate 898 monitors, blood meters, thermometers, and scales. </p> 899 900 901 <h3 id="uicomp-dev">New UI components and capabilities</h3> 902 903 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Layout 904 enhancements</strong></p> 905 906 <p>A new layout, GridLayout, improves the performance of Android applications by 907 supporting flatter view hierarchies that are faster to layout and render. 908 Because hierarchies are flatter, developers can also manage alignments between 909 components that are visually related to each other even when they are not 910 logically related, for precise control over application UI. GridLayout is also 911 specifically designed to be configured by drag-and-drop design tools such as the 912 ADT Plug-in for Eclipse.</p> 913 914 915 <p style="margin-top:1em;margin-bottom:.75em;"><strong>OpenGL ES texture 916 views</strong></p> 917 918 <p>A new TextureView object lets developers directly integrate OpenGL ES 919 textures as rendering targets in a UI hierarchy. The object lets developers 920 display and manipulate OpenGL ES rendering just as they would a normal view 921 object in the hierarchy, including moving, transforming, and animating the view 922 as needed. The TextureView object makes it easy for developers to embed camera 923 preview, decoded video, OpenGL game scenes, and more. TextureView can be viewed 924 as a more powerful version of the existing SurfaceView object, since it offers 925 the same benefits of access to a GL rendering surface, with the added advantage 926 of having that surface participate fully in the normal view hierarchy.</p> 927 928 929 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Hardware-accelerated 2D 930 drawing</strong></p> 931 932 <p>All Android-powered devices running Android 4.0 are required to support 933 hardware-accelerated 2D drawing. Developers can take advantage of this to add 934 great UI effects while maintaining optimal performance on high-resolution 935 screens, even on phones. For example, developers can rely on accelerated 936 scaling, rotation, and other 2D operations, as well as accelerated UI components 937 such as TextureView and compositing modes such as filtering, blending, and 938 opacity.</p> 939 940 941 <h3 id="input-dev">New input types and text services</h3> 942 943 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Stylus input, button 944 support, hover events</strong></p> 945 946 <p>Android 4.0 includes full support for stylus input events, including tilt and 947 distance axes, pressure, and related motion event properties. To help 948 applications distinguish motion events from different sources, the platform adds 949 distinct tool types for stylus, finger, mouse, and eraser. For improved input 950 from multi-button pointing devices, the platform now provides distinct primary, 951 secondary, and tertiary buttons, as well as back and forward buttons. 952 Hover-enter and hover-exit events are also added, for improved navigation and 953 accessibility. Developers can build on these new input features to add powerful 954 interactions to their apps, such as precise drawing and gesturing, handwriting 955 and shape recognition, improved mouse input, and others.</p> 956 957 958 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text services API for 959 integrating spelling checkers</strong></p> 960 961 <p>Android 4.0 lets applications query available text services such as 962 dictionaries and spell checkers for word suggestions, corrections, and similar 963 data. The text services are external to the active IME, so developers can create 964 and distribute dictionaries and suggestion engines that plug into the platform. 965 When an application receives results from a text service — for example, 966 word suggestions — it can display them in a dedicated suggestion popup 967 window directly inside the text view, rather than relying on the IME to display 968 them. </p> 969 970 971 <h3 id="accessibility-dev">Enhanced accessibility APIs</h3> 972 973 <p>Android 4.0 adds new accessibility features and an enhanced API to let 974 developers improve the user experience in their apps, especially on devices that 975 dont have hardware buttons. For accessibility services such as screen readers 976 in particular, the platform offers new APIs to query window content, for easier 977 navigation, better feedback, and richer user interfaces.</p> 978 979 980 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Accessibility 981 API</strong></p> 982 983 <p>To let applications manage interactions more effectively when accessibility 984 features are enabled, the platform adds accessibility events for 985 explore-by-touch mode, scrolling, and text selection. For these and other 986 events, the platform can attach a new object called an accessibility record that 987 provides extra information about the event context.</p> 988 989 <p>Using the accessibility record and related APIs, applications can now access 990 the view hierarchy associated with an event. Applications can query for key 991 properties such as parent and child nodes, available states, supported actions, 992 screen position, and more. Applications can also request changes to certain 993 properties to help manage focus and selected state. For example, an 994 accessibility service could use these new capabilities to add convenient 995 features such as screen-search by text. </p> 996 997 998 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text-to-speech 999 API</strong></p> 1000 1001 <p>A new framework API lets developers write text-to-speech engines and make 1002 them available to any app requesting TTS capabilities.</p> 1003 1004 1005 <h3 id="data-dev">Efficient network usage</h3> 1006 1007 <p>In Android 4.0, users can see how much network data their running apps are 1008 using. They can also set limits on data usage by network type and disable 1009 background data usage for specific applications. In this context, developers 1010 need to design their apps to run efficiently and follow best practices for 1011 checking the network connection. Android 4.0 provides network APIs to let 1012 applications meet those goals.</p> 1013 1014 <p>As users move between networks or set limits on network data, the platform 1015 lets applications query for connection type and availability. Developers can use 1016 this information to dynamically manage network requests to ensure the best 1017 experience for users. Developers can also build custom network and data-usage 1018 options into their apps, then expose them to users directly from Settings by 1019 means of a new system Intent.</p> 1020 1021 1022 <h3 id="security-dev">Security for apps and content</h3> 1023 1024 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Secure management of 1025 credentials</strong></p> 1026 1027 <p>Android 4.0 makes it easier for applications to manage authentication and 1028 secure sessions. A new keychain API and underlying encrypted storage let 1029 applications store and retrieve private keys and their corresponding certificate 1030 chains. Any application can use the keychain API to install and store user 1031 certificates and CAs securely.</p> 1032 1033 1034 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Address Space Layout 1035 Randomization</strong></p> 1036 1037 <p>Android 4.0 now provides address space layout randomization (ASLR) to help 1038 protect system and third party applications from exploitation due to 1039 memory-management issues.</p> 1040 1041 1042 <h3 id="enterprise-dev">Enhancements for Enterprise</h3> 1043 1044 <p style="margin-top:1em;margin-bottom:.75em;"><strong>VPN client 1045 API</strong></p> 1046 1047 <p>Developers can now build or extend their own VPN solutions on the platform 1048 using a new VPN API and underlying secure credential storage. With user 1049 permission, applications can configure addresses and routing rules, process 1050 outgoing and incoming packets, and establish secure tunnels to a remote server. 1051 Enterprises can also take advantage of a standard VPN client built into the 1052 platform that provides access to L2TP and IPSec protocols.</p> 1053 1054 1055 <p style="margin-top:1em;margin-bottom:.75em;"><strong>Device policy management 1056 for camera</strong></p> 1057 1058 <p>The platform adds a new policy control for administrators who manage devices 1059 using an installed Device Policy Manager. Administrators can now remotely 1060 disable the camera on a managed device for users working in sensitive 1061 environments.</p> 1062 1063 1064 1065 1066 1067