| page.title=Android 4.0 Platform Highlights |
| |
| @jd:body |
| |
| |
| <style type="text/css"> |
| #jd-content { |
| max-width:1024px; |
| } |
| #jd-content div.screenshot { |
| float:left; |
| clear:left; |
| padding:15px 30px 15px 0; |
| } |
| #jd-content div.video { |
| float:right; |
| padding:0 0 40px 60px; |
| margin-top:-30px; |
| } |
| #jd-content table.columns { |
| margin:0 0 1em 0; |
| } |
| #jd-content table.columns td { |
| padding:0; |
| } |
| #jd-content table.columns td+td { |
| padding:0 2em; |
| } |
| #jd-content table.columns td img { |
| margin:0; |
| } |
| #jd-content table.columns td+td>*:first-child { |
| margin-top:-2em; |
| } |
| .green { |
| color:#8db529; |
| font-weight:bold; |
| } |
| </style> |
| |
| <div class="video"> |
| <iframe width="380" height="223" src="http://www.youtube.com/embed/-F_ke3rxopc?hd=1" frameborder="0" |
| allowfullscreen></iframe> |
| </div> |
| |
| <p>Welcome to Android 4.0!</p> |
| |
| <p>Android 4.0 delivers a refined, unified UI for phones and tablets and |
| introduces innovative features for users and developers. This document provides |
| a glimpse of the many new features and technologies that make Android 4.0 |
| simple, beautiful, and beyond smart. <!--For technical details about |
| new developer APIs described below, see the <a |
| href="{@docRoot}sdk/android-4.0.html">Android 4.0 API Overview</a> |
| document.--></p> |
| |
| <ul> |
| <li><a href="#UserFeatures">Android 4.0 for Users</a></li> |
| <li><a href="#DeveloperApis">Android 4.0 for Developers</a></li> |
| </ul> |
| |
| <h2 id="UserFeatures" style="clear:right">Android 4.0 for Users</h2> |
| |
| <div style="padding-bottom:0em;"> |
| <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> |
| <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> |
| </div> |
| |
| |
| <h3 id="simple" style="color:#172861">Simple, beautiful, beyond smart</h3> |
| |
| <p>Android 4.0 builds on the things people love most about Android — easy |
| multitasking, rich notifications, customizable home screens, resizable widgets, |
| and deep interactivity — and adds powerful new ways of communicating and |
| sharing.</p> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Refined, evolved UI</strong></p> |
| |
| <p>Focused on bringing the power of Android to the surface, Android 4.0 makes |
| <strong>common actions more visible</strong> and lets users navigate with |
| simple, intuitive gestures. Refined <strong>animations</strong> and feedback |
| throughout the system make interactions engaging and interesting. An entirely |
| <strong>new typeface</strong> optimized for high-resolution screens improves |
| readability and brings a polished, modern feel to the user interface.</p> |
| |
| <p>Virtual buttons in the System Bar let users navigate instantly to Back, Home, |
| and Recent Apps. The <strong>System Bar</strong> and virtual buttons are present |
| across all apps, but can be dimmed by applications for full-screen viewing. |
| Users can access each application's contextual options in the <strong>Action |
| Bar</strong>, displayed at the top (and sometimes also at the bottom) of the |
| screen.</p> |
| |
| <p><strong>Multitasking</strong> is a key strength of Android and it's made even |
| easier and more visual on Android 4.0. The Recent Apps button lets users jump |
| instantly from one task to another using the list in the System Bar. The list |
| pops up to show thumbnail images of apps used recently — tapping a |
| thumbnail switches to the app.</p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:.5em;float:left;width:182px;padding-top:.5em;"> |
| <a href="{@docRoot}sdk/images/4.0/tasks-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/tasks.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <div style="padding-left:1em;padding-bottom:1em;font-size:.9em;padding-right:1em;">The Recent Apps list makes multitasking simple.</div> |
| <a href="{@docRoot}sdk/images/4.0/lock-camera-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/lock-camera.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| <a href="{@docRoot}sdk/images/4.0/contact-call-lg.png" target="_android"> |
| <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> |
| <!--<a href="{@docRoot}sdk/images/4.0/quick-response-lg.png" target="_android"> |
| <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>--> |
| <div style="padding-left:1em;padding-bottom:.5em;font-size:.9em;padding-right:1.75em;">For incoming calls, you can respond instantly by text.</div> |
| </div> |
| </div> |
| |
| <p>Rich and interactive <strong>notifications</strong> let users keep in |
| constant touch with incoming messages, play music tracks, see real-time updates |
| from apps, and much more. On smaller-screen devices, notifications appear at the |
| top of the screen, while on larger-screen devices they appear in the System |
| Bar.</p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:326px"> |
| <a href="{@docRoot}sdk/images/4.0/allapps-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/allapps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <a href="{@docRoot}sdk/images/4.0/calendar-widget-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/calendar-widget.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| </div> |
| </div> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Home screen folders and |
| favorites tray</strong></p> |
| |
| <p>New home screen <strong>folders</strong> offer a new way for users to group |
| their apps and shortcuts logically, just by dragging one onto another. Also, |
| in All Apps launcher, users can now simply <strong>drag an app</strong> to get |
| information about it or immediately uninstall it, or disable a pre-installed app.</p> |
| |
| <p>On smaller-screen devices, the home screen now includes a customizable |
| <strong>favorites tray</strong> visible from all home screens. Users can drag |
| apps, shortcuts, folders, and other priority items in or out of the favorites |
| tray for instant access from any home screen.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Resizable |
| widgets</strong></p> |
| |
| <p>Home screens in Android 4.0 are designed to be content-rich and customizable. |
| Users can do much more than add shortcuts — they can embed live |
| application content directly through interactive <strong>widgets</strong>. |
| Widgets let users check email, flip through a calendar, play music, check social |
| streams, and more — right from the home screen, without having to launch |
| apps. Widgets are resizable, so users can expand them to show more content or |
| shrink them to save space.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>New lock screen |
| actions</strong></p> |
| |
| <p>The lock screens now let users do more without unlocking. From the slide lock |
| screen, users can <strong>jump directly to the camera</strong> for a picture or |
| <strong>pull down the notifications window</strong> to check for messages. When |
| listening to music, users can even manage music tracks and see album art. </p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Quick responses for |
| incoming calls</strong></p> |
| |
| <p>When an incoming call arrives, users can now quickly <strong>respond by text |
| message</strong>, without needing to pick up the call or unlock the device. On |
| the incoming call screen, users simply slide a control to see a list of text |
| responses and then tap to send and end the call. Users can add their own |
| responses and manage the list from the Settings app.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Swipe to dismiss |
| notifications, tasks, and browser tabs</strong></p> |
| |
| <p>Android 4.0 makes managing notifications, recent apps, and browser tabs even |
| easier. Users can now dismiss individual notifications, apps from the Recent |
| Apps list, and browser tabs with a simple swipe of a finger. </p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:1em;float:right;margin-left:1em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:200px"> |
| <a href="{@docRoot}sdk/images/4.0/text-replace-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/text-replace.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| <a href="{@docRoot}sdk/images/4.0/tts-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/tts.png" alt="" width="190" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| </div> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved text input and |
| spell-checking</strong></p> |
| |
| <p>The soft keyboard in Android 4.0 makes text input even faster and more |
| accurate. Error correction and word suggestion are improved through a new set of |
| default dictionaries and more accurate heuristics for handling cases such as |
| double-typed characters, skipped letters, and omitted spaces. Word suggestion |
| is also improved and the suggestion strip is simplified to show only three |
| words at a time.</p> |
| |
| <p>To fix misspelled words more easily, Android 4.0 adds a |
| <strong>spell-checker</strong> that locates and underlines errors and suggests |
| replacement words. With one tap, users can choose from multiple spelling |
| suggestions, delete a word, or add it to the dictionary. Users can even tap to |
| see replacement suggestions for words that are spelled correctly. For |
| specialized features or additional languages, users can now download and install |
| third-party dictionaries, spell-checkers, and other text services.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful voice input |
| engine</strong></p> |
| |
| <p>Android 4.0 introduces a powerful new voice input engine that offers a |
| continuous "open microphone" experience and streaming voice recognition. The new |
| voice input engine lets users dictate the text they want, for as long as they |
| want, using the language they want. Users can <strong>speak continously</strong> for a prolonged |
| time, even pausing for intervals if needed, and dictate punctuation to create |
| correct sentences. As the voice input engine enters text, it underlines possible |
| dictation errors in gray. After dictating, users can tap the underlined words to |
| quickly replace them from a list of suggestions.</p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margsin-right:.8em;float:left;width:350px;padding-top:1em;"> |
| <a href="{@docRoot}sdk/images/4.0/usage-all-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/usage-all.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <a href="{@docRoot}sdk/images/4.0/usage-maps-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/usage-maps.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| </div> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Control over network |
| data</strong></p> |
| |
| <p>Mobile devices can make extensive use of network data for streaming content, |
| synchronizing data, downloading apps, and more. To meet the needs of users with |
| <strong>tiered or metered data plans</strong>, Android 4.0 adds new controls for |
| managing network data usage.</p> |
| |
| <p>In the Settings app, colorful charts show the total data usage on each |
| network type (mobile or Wi-Fi), as well as amount of data used by each running |
| application. Based on their data plans, users can optionally set warning levels |
| or hard limits on data usage or disable mobile data altogether. Users can also |
| manage the background data used by individual applications as needed.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Designed for |
| accessibility</strong></p> |
| |
| <p>A variety of new features greatly enhance the accessibility of Android 4.0 |
| for blind or visually impaired users. Most important is a new |
| <strong>explore-by-touch mode</strong> that lets users navigate without having |
| to see the screen. Touching the screen once triggers audible feedback that |
| identifies the UI component below; a second touch in the same component |
| activates it with a full touch event. The new mode is especially important to |
| support users on new devices that use virtual buttons in the System Bar, rather |
| than dedicated hardware buttons or trackballs. Also, standard apps are updated |
| to offer an improved accessibility experience. The <strong>Browser</strong> |
| supports a script-based screen reader for reading favorite web content and |
| navigating sites. For improved readability, users can also increase the default |
| font size used across the system.</p> |
| |
| <p>The accessibility experience begins at first setup — a simple |
| <strong>touch gesture</strong> during setup (clockwise square from upper left) |
| activates all accessibility features and loads a setup tutorial. Once |
| accessibility features are active, everything visible on the screen can be |
| spoken aloud by the standard screen reader.</p> |
| |
| |
| <h3 id="comms" style="color:#172861">Communication and sharing</h3> |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:1em;float:right;margin-left:.5em;margin-top:1.5em;margin-bottom:0;padding-bottom:0;width:490px"> |
| <!--<img src="{@docRoot}sdk/images/4.0/contact-call.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" />--> |
| <a href="{@docRoot}sdk/images/4.0/contact-faves-lg.png" target="_android"> |
| <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> |
| <a href="{@docRoot}sdk/images/4.0/contact-connect-lg.png" target="_android"> |
| <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> |
| <a href="{@docRoot}sdk/images/4.0/contact-email-lg.png" target="_android"> |
| <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> |
| |
| <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 — from incoming calls to emails.</div> |
| </div> |
| </div> |
| |
| <p>Designed for the way people live, Android 4.0 integrates rich social |
| communication and sharing touchpoints across the system, making it easy to talk, |
| email, text, and share.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>People and |
| profiles</strong></p> |
| |
| <p>Throughout the system, a user’s social groups, profiles, and contacts are |
| linked together and integrated for easy accessibility. At the center is a new |
| <strong>People app</strong> that offers richer profile information, including a |
| large profile picture, phone numbers, addresses and accounts, status updates, |
| events, and a new button for connecting on integrated social networks. </p> |
| |
| <p>The user's own contact information is stored in a new <strong>"Me" |
| profile</strong>, allowing easier sharing with apps and people. All of the |
| user's integrated contacts are displayed in an easy to manage list, including |
| controls over which contacts are shown from any integrated account or social |
| network. Wherever the user navigates across the system, tapping a profile photo |
| displays Quick Contacts, with large profile pictures, shortcuts to phone numbers, |
| text messaging, and more. </p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Unified calendar, visual |
| voicemail</strong></p> |
| |
| <p>To help organize appointments and events, an updated <strong>Calendar |
| app</strong> brings together personal, work, school, and social agendas. With |
| user permission, other applications can contribute events to the calendar and |
| manage reminders, for an integrated view across multiple calendar providers. The |
| app is redesigned to let users manage events more easily. Calendars are |
| color-coded and users can <strong>swipe left or right</strong> to change dates |
| and pinch to zoom in or out agendas. </p> |
| |
| <p>In the phone app, a new <strong>visual voicemail</strong> features integrates |
| incoming messages, voice transcriptions, and audio files from one or more |
| providers. Third-party applications can integrate with the Phone app to add |
| their own voice messages, transcriptions, and more to the visual voicemail |
| inbox. </p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margsin-right:0em;float:left;width:282px;padding-top:1em;"> |
| <a href="{@docRoot}sdk/images/4.0/camera-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/camera.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <a href="{@docRoot}sdk/images/4.0/gallery-edit-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/gallery-edit.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <a href="{@docRoot}sdk/images/4.0/gallery-share-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/gallery-share.png" alt="" width="240" height="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| </div> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Rich and versatile camera |
| capabilities</strong></p> |
| |
| <p>The Camera app includes many new features that let users capture special moments |
| with great photos and videos. After capturing images, they can edit and share |
| them easily with friemds. </p> |
| |
| <p>When taking pictures, <strong>continuous focus</strong>, <strong>zero shutter |
| lag exposure</strong>, and decreased shot-to-shot speed help capture clear, |
| precise images. <strong>Stabilized image zoom</strong> lets users compose photos |
| and video in the way they want, including while video is recording. For new |
| flexibility and convenience while shooting video, users can now take |
| <strong>snapshots at full video resolution</strong> just by tapping the screen |
| as video continues to record.</p> |
| |
| <p>To make it easier to take great pictures of people, built-in <strong>face |
| detection</strong> locates faces in the frame and automatically sets focus. For |
| more control, users can <strong>tap to focus</strong> anywhere in the preview |
| image. </p> |
| |
| <p>For capturing larger scenes, the Camera introduces a <strong>single-motion |
| panorama</strong> mode. In this mode, the user starts an exposure and then |
| slowly turns the Camera to encompass as wide a perspective as needed. The Camera |
| assembles the full range of continuous imagery into a single panoramic |
| photo.</p> |
| |
| <p>After taking a picture or video, users can quickly share it by email, text |
| message, bluetooth, social networks, and more, just by tapping the thumbnail in |
| the camera controls. </p> |
| |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:160px"> |
| <img src="{@docRoot}sdk/images/4.0/gallery-widget.png" alt="" width="144" style="border:1px solid #ddd;border-radius: 6px;" /> |
| <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> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Redesigned Gallery app |
| with photo editor</strong></p> |
| |
| <p>The Gallery app now makes it easier to manage, show, and share photos and |
| videos. For managing collections, a <strong>redesigned album layout</strong> |
| shows many more albums and offers larger thumbnails. There are many ways to sort |
| albums, including by time, location, people, and tags. To help pictures look |
| their best, the Gallery now includes a powerful <strong>photo editor</strong>. |
| Users can crop and rotate pictures, set levels, remove red eyes, add effects, |
| and much more. After retouching, users can select one or multiple pictures or |
| videos to share instantly over email, text messaging, bluetooth, social |
| networks, or other apps.</p> |
| |
| <p>An improved <strong>Picture Gallery widget</strong> lets users look at |
| pictures directly on their home screen. The widget can display pictures from a |
| selected album, shuffle pictures from all albums, or show a single image. After |
| adding the widget to the home screen, users can flick through the photo stacks |
| to locate the image they want, then tap to load it in Gallery. </p> |
| |
| <div style="padding-top:0em;clear:right;"> |
| <div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:1em;padding-bottom:0;width:320px"> |
| <img src="{@docRoot}sdk/images/4.0/live-effects.png" alt="" width="297" style="border:1px solid #ddd;border-radius: 6px;" /> |
| <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> |
| </div> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Live Effects for transforming video</strong></p> |
| |
| <p>Live Effects is a collection of graphical transformations that add interest |
| and fun to videos captured in the Camera app. For example, users can |
| <strong>change the background</strong> behind them to any stock or custom image, |
| for just the right setting when shooting videeo. Also available for video is |
| Silly Faces, a set of morphing effects that use state-of-the-art face |
| recognition and GPU filters to transform facial features. For example, you can |
| use effects such as small eyes, big mouth, big nose, face squeeze, and more. |
| Outside of the Camera app, Live Effects is available during video chat in the |
| Google Talk app.</p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;"> |
| <a href="{@docRoot}sdk/images/4.0/screenshot-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/screenshot.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <div style="padding-left:1em;padding-bottom:1.25em;margin-top:0;padding-top:0;font-size:.9em"> Snapping a screenshot.</div> |
| </div> |
| </div> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Sharing with screenshots</strong></p> |
| |
| <p>Users can now share what's on their screens more easily by taking |
| screenshots. Hardware buttons let them snap a <strong>screenshot</strong> and |
| store it locally. Afterward, they can view, edit, and share the screen shot in |
| Gallery or a similar app.</p> |
| |
| |
| <h3 id="cloud" style="color:#172861">Cloud-connected experience</h3> |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:1em;float:right;margin-left:1em;padding-top:1em;margin-bottom:0;padding-bottom:0;width:326px"> |
| <a href="{@docRoot}sdk/images/4.0/browser-tabs-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/browser-tabs.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <a href="{@docRoot}sdk/images/4.0/browser-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/browser.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| <img src="{@docRoot}sdk/images/4.0/bbench.png" alt="" width="310" /> |
| <div style="padding-left:1em;padding-bottom:1em;margin-top:0;padding-top:0;font-size:.9em">Benchmark comparisons of Android Browser.</div> |
| </div> |
| </div> |
| |
| <p>Android has always been cloud-connected, letting users browse the web and |
| sync photos, apps, games, email, and contacts — wherever they are and |
| across all of their devices. Android 4.0 adds new browsing and email |
| capabilities to let users take even more with them and keep communication |
| organized.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Powerful web |
| browsing</strong></p> |
| |
| <p>The Android Browser offers an experience that’s as rich and convenient as a |
| desktop browser. It lets users instantly sync and manage <strong>Google Chrome |
| bookmarks</strong> from all of their accounts, jump to their favorite content |
| faster, and even save it for reading later in case there's no network |
| available.</p> |
| |
| <p>To get the most out of web content, users can now request full |
| <strong>desktop versions</strong> of web sites, rather than their mobile |
| versions. Users can set their preference for web sites separately for each |
| <strong>browser tab</strong>. For longer content, users can save a copy for |
| <strong>offline reading</strong>. To find and open saved pages, users can browse |
| a visual list that’s included with browser bookmarks and history. For better |
| readability and accessibility, users can increase the browser’s <strong>zoom |
| levels</strong> and override the system default <strong>text sizes</strong>.</p> |
| |
| <p>Across all types of content, the Android Browser offers dramatically improved |
| <strong>page rendering performance</strong> through updated versions of the |
| WebKit core and the V8 Crankshaft compilation engine for JavaScript. In |
| benchmarks run on a Nexus S device, the Android 4.0 browser showed an |
| improvement of nearly 220% over the Android 2.3 browser in the V8 Benchmark |
| Suite and more than 35% in the SunSpider 9.1 JavaScript Benchmark. When run on a |
| Galaxy Nexus device, the Android 4.0 browser showed improvement of nearly 550% |
| in the V8 benchmark and nearly 70% in the SunSpider benchmark.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Improved |
| email</strong></p> |
| |
| <p>In Android 4.0, email is easier to send, read, and manage. For composing |
| email, <strong>improved auto-completion</strong> of recipients helps with |
| finding and adding frequent contacts more quickly. For easier input of frequent |
| text, users can now create <strong>quick responses</strong> and store them in |
| the app, then enter them from a convenient menu when composing. When replying to |
| a message, users can now toggle the message to Reply All and Forward without |
| changing screens.</p> |
| |
| <p>For easier browsing across accounts and labels, the app adds an |
| <strong>integrated menu</strong> of accounts and recent labels. To help users |
| locate and organize IMAP and Exchange email, the Email app now supports |
| <strong>nested mail subfolders</strong>, each with synchronization rules. Users |
| can also search across folders on the server, for faster results. </p> |
| |
| <p>For <strong>enterprises</strong>, the Email app supports EAS v14. It supports |
| EAS certificate authentication, provides ABQ strings for device type and mode, |
| and allows automatic sync to be disabled while roaming. Administrators can also |
| limit attachment size or disable attachments.</p> |
| |
| <p>For keeping track of incoming email more easily, a <strong>resizable Email |
| widget</strong> lets users flick through recent email right from the home |
| screen, then jump into the Email app to compose or reply.</p> |
| |
| |
| <div style="padding-top:0em;"> |
| <div style="margsin-right:.8em;float:left;width:186px;padding-top:1em;"> |
| <a href="{@docRoot}sdk/images/4.0/beam-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/beam.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| </div> |
| </div> |
| |
| <h3 id="innovation" style="color:#172861">Innovation</h3> |
| |
| <p>Android is continously driving innovation forward, pushing the boundaries of |
| communication and sharing with new capabilities and interactions.</p> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam for |
| NFC-based sharing</strong></p> |
| |
| <p>Android Beam is an innovative, convenient feature for sharing across two |
| NFC-enabled devices, It lets people instantly exchange favorite apps, contacts, |
| music, videos — almost anything. It’s incredibly simple and convenient to |
| use — there’s no menu to open, application to launch, or pairing needed. |
| Just touch one Android-powered phone to another, then tap to send.</p> |
| |
| <p>For sharing apps, Android Beam pushes a link to the app's details page in |
| Android Market. On the other device, the Market app launches and loads the |
| details page, for easy downloading of the app. Individual apps can build on |
| Android Beam to add other types of interactions, such as passing game scores, |
| initiating a multiplayer game or chat, and more.</p> |
| |
| <div style="padding-top:0em;"> |
| <div style="margin-right:1em;float:right;margin-left:1em;margin-top:.5em;margin-bottom:0;padding-bottom:0;width:160px"> |
| <a href="{@docRoot}sdk/images/4.0/face-unlock-lg.png" target="_android"> |
| <img src="{@docRoot}sdk/images/4.0/face-unlock.png" alt="" height="240" width="144" style="border:1px solid #ddd;border-radius: 6px;" /></a> |
| <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> |
| </div> |
| </div> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Face Unlock</strong></p> |
| |
| <p>Android 4.0 introduces a completely new approach to securing a device, making |
| each person's device even more personal — Face Unlock is a new screen-lock |
| option that lets users unlock their devices with their faces. It takes advantage |
| of the device front-facing camera and state-of-the-art facial recognition |
| technology to register a face during setup and then to recognize it again when |
| unlocking the device. Users just hold their devices in front of their faces to |
| unlock, or use a backup PIN or pattern. </p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct and Bluetooth HDP</strong></p> |
| |
| <p>Support for <strong>Wi-Fi Direct</strong> lets users connect directly to |
| nearby peer devices over Wi-Fi, for more reliable, higher-speed communication. |
| No internet connection or tethering is needed. Through third-party apps, users |
| can connect to compatible devices to take advantage of new features such as |
| instant sharing of files, photos, or other media; streaming video or audio from |
| another device; or connecting to compatible printers or other devices.</p> |
| |
| <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> |
| |
| |
| <h2 id="DeveloperApis" style="clear:right">New Developer Features</h2> |
| |
| <!-- <ul> |
| <li><a href="#ui-dev">Unified UI framework for phones, tablets, and more</a></li> |
| <li><a href="#communication-dev">Communication and sharing</a></li> |
| <li><a href="#media-dev">New media capabilities</a></li> |
| <li><a href="#connectivity-dev">New types of connectivity</a></li> |
| <li><a href="#uicomp-dev">New UI components and capabilities</a></li> |
| <li><a href="input-dev">New input types and text services</a></li> |
| <li><a href="#accessibility-dev">Enhanced accessibility APIs</a></li> |
| <li><a href="#data-dev">Efficient network usage</a></li> |
| <li><a href="#security-dev">Security for apps and content</a></li> |
| <li><a href="#enterprise-dev">Enhancements for Enterprise</a></li> |
| </ul>--> |
| |
| <h3 id="ui-dev">Unified UI framework for phones, tablets, and more</h3> |
| |
| <p>Android 4.0 brings a unified UI framework that lets developers create |
| elegant, innovative apps for phones, tablets, and more. It includes all of the |
| familiar Android 3.x interface elements and APIs — fragments, content |
| loaders, Action Bar, rich notifications, resizable home screen widgets, and more |
| — as well as new elements and APIs.</p> |
| |
| <p>For developers, the unified UI framework in Android 4.0 means new UI tools, |
| consistent design practices, simplified code and resources, and streamlined |
| development across the range of Android-powered devices.</p> |
| |
| <div class="sidebox-wrapper"> |
| <div class="sidebox" style="border-left:1px solid #22a5ca;background-color:#fff;"> |
| <h3>Key Android 3.x developer features, <br>now for phones too</h3> |
| |
| <p>Core UI</p> |
| <ul> |
| <li>Fragments and content loaders</li> |
| <li>Resizeable home screen widgets</li> |
| <li>Rich notifications</li> |
| <li>Multi-selection, drag-drop, clipboard</li> |
| <li>Improved screen-support API</li> |
| <li>Hardware-accelerated 2D graphics</li> |
| </ul> |
| |
| <p>Graphics and animation</p> |
| <ul> |
| <li>Property-based animation</li> |
| <li>Renderscript 3D graphics</li> |
| </ul> |
| |
| <p>Media and connectivity</p> |
| <ul> |
| <li>HTTP Live streaming</li> |
| <li>Bluetooth A2DP and HSP devices</li> |
| <li>Support for RTP</li> |
| <li>MTP/PTP file transfer</li> |
| <li>DRM framework</li> |
| <li>Input from keyboard, mouse, gamepad, joystick</li> |
| </ul> |
| |
| <p>Enterprise</p> |
| <ul> |
| <li>Full device encryption</li> |
| <li>DPM policies for encrypted storage and passwords</li> |
| </ul> |
| </div> |
| </div> |
| |
| <h3 id="communication-dev">Communication and sharing</h3> |
| |
| <p>Android 4.0 extends social and sharing features to any application on the |
| device. Applications can integrate contacts, profile data, and calendar events |
| from any of the user’s activities or social networks.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Social API</strong></p> |
| |
| <p>A shared social provider and API provide a new unified store for contacts, |
| profile data, status updates, and photos. Any app or social network with user |
| permission can contribute raw contacts and make them accessible to other apps |
| and networks. Applications with user permission can also read profile data from |
| the provider and display it in their applications.</p> |
| |
| <p>The social API lets applications store standard contact data as well as new |
| types of content for any given contact, including large profile photos and |
| recent activity feedback. Recent activity feedback is a standard way for |
| applications to “tag” a contact with common activity, such as when the user |
| calls the contact or sends an email or SMS message. The social provider uses the |
| recent activity feedback as a new signal in ranking, such as for name |
| auto-complete, to keep the most relevant contacts ranked closest to the top.</p> |
| |
| <p>Applications can also let users set up a social connection to a contact from |
| the People app. When the user touches Add Connection in a contact, the app |
| sends a public intent that other apps can handle, displaying any UI needed |
| to create the social connection.</p> |
| |
| <p>Building on the social API, developers can add powerful new interactions that |
| span multiple social networks and contacts sources.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Calendar API</strong></p> |
| |
| <p>A shared calendar content provider and framework API make it easier for |
| developers to add calendar services to their apps.</p> |
| |
| <p>With user permission, any application can add events to the shared database |
| and manage dates, attendees, alerts, and reminders. Applications can also read |
| entries from the database, including events contributed by other applications, |
| and handle the display of event alerts and reminders. Using the calendar |
| provider, applications can take advantage of event data sourced from a variety |
| of apps and protocols, to offer innovative ways of viewing and managing a user’s |
| events. Apps can also use calendar data to improve the relevance of their |
| other content.</p> |
| |
| <p>For lighter-weight access to calendar services, the Calendar app defines a |
| set of public Intents for creating, viewing, and editing events. Rather than |
| needing to implement a calendar UI and integrate directly with the calendar |
| provider, applications can simply broadcast calendar Intents. When the Calendar |
| app receives the Intents, it launches the appropriate UI and stores any event |
| data entered. Using calendar Intents, for example, apps can let users add events |
| directly from lists, dialogs, or home screen widgets, such as for making |
| restaurant reservations or booking time with friends.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Visual voicemail |
| API</strong></p> |
| |
| <p>A shared Voicemail provider and API allow developers to build applications |
| that contribute to a unified voicemail store. Voicemails are displayed and |
| played in the call log tab of the platform’s Phone app.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Android Beam</strong></p> |
| |
| <p>Android Beam is an NFC-based feature that lets users instantly share |
| information about the apps they are using, just by touching two NFC-enabled |
| phones together. When the devices are in range — within a few centimeters |
| — the system sets up an NFC connection and displays a sharing UI. To share |
| whatever they are viewing with the other device, users just touch the screen. |
| </p> |
| |
| <p>For developers, Android Beam is a new way of triggering almost any type of |
| proximity-based interaction. For example, it can let users instantly exchange |
| contacts, set up multiplayer gaming, join a chat or video call, share a photo or |
| video, and more. The system provides the low-level NFC support and the sharing |
| UI, while the foreground app provides lightweight data to transfer to the other |
| device. Developers have complete control over the data that is shared and how it |
| is handled, so almost any interaction is possible. For larger payloads, |
| developers can even use Android Beam to initiate a connection and transfer the |
| data over Bluetooth, without the need for user-visible pairing.</p> |
| |
| <p>Even if developers do not add custom interactions based on Android Beam they |
| can still benefit from it being deeply integrated into Android. By default the |
| system shares the app’s Android Market URL, so it’s easy for the user to |
| download or purchase the app right away.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Modular sharing |
| widget</strong></p> |
| |
| <p>The UI framework includes a new widget, ShareActionProvider, that lets |
| developers quickly embed standard share functionality and UI in the Action Bar |
| of their applications. Developers simply add ShareActionProvider to the menu and |
| set an intent that describes the desired sharing action. The system handles the |
| rest, building up the list of applications that can handle the share intent and |
| dispatching the intent when the user chooses from the menu.</p> |
| |
| |
| <h3 id="media-dev">New media capabilities</h3> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Low-level streaming |
| multimedia</strong></p> |
| |
| <p>Android 4.0 provides a direct, efficient path for low-level streaming |
| multimedia. The new path is ideal for applications that need to maintain |
| complete control over media data before passing it to the platform for |
| presentation. For example, media applications can now retrieve data from any |
| source, apply proprietary encryption/decryption, and then send the data to the |
| platform for display.</p> |
| |
| <p>Applications can now send processed data to the platform as a multiplexed |
| stream of audio/video content in MPEG-2 transport stream format. The platform |
| de-muxes, decodes, and renders the content. The audio track is rendered to the |
| active audio device, while the video track is rendered to either a Surface or a |
| SurfaceTexture. When rendering to a SurfaceTexture, the application can apply |
| subsequent graphics effects to each frame using OpenGL.</p> |
| |
| <p>To support this low-level streaming, the platform introduces a new native API |
| based on <a href="http://www.khronos.org/openmax/al/" target="_top">Khronos |
| OpenMAX AL 1.0.1</a>. The API is implemented on the same underlying services as |
| the platform’s existing OpenSL ES API, so developers can make use of both APIs |
| together if needed. Tools support for low-level streaming multimedia will be |
| available in an upcoming release of the Android NDK.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>New camera |
| capabilities</strong></p> |
| |
| <p>Developers can take advantage of a variety of new camera features in Android |
| 4.0. ZSL exposure, continuous focus, and image zoom let apps capture better |
| still and video images, including during video capture. Apps can even capture |
| full-resolution snapshots while shooting video. Apps can now set custom metering |
| regions in a camera preview, then manage white balance and exposure dynamically |
| for those regions. For easier focusing and image processing, a face-detection |
| service identifies and tracks faces in a preview and returns their screen |
| coordinates.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Media effects for |
| transforming images and video</strong></p> |
| |
| <p>A set of high-performance transformation filters let developers apply rich |
| effects to any image passed as an OpenGL ES 2.0 texture. Developers can adjust |
| color levels and brightness, change backgrounds, sharpen, crop, rotate, add lens |
| distortion, and apply other effects. The transformations are processed by the |
| GPU, so they are fast enough for processing image frames loaded from disk, |
| camera, or video stream.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Audio remote |
| controls</strong></p> |
| |
| <p>Android 4.0 adds a new audio remote control API that lets media applications |
| integrate with playback controls that are displayed in a remote view. Media |
| applications can integrate with a remote music playback control that’s built |
| into in the platform’s lock screen, allowing users to control song selection and |
| playback without having to unlock and navigate to the music app.</p> |
| |
| <p>Using the audio remote control API, any music or media app can register to |
| receive media button events from the remote control and then manage play state |
| accordingly. The application can also supply metadata to the remote control, |
| such as album art or image, play state, track number and description, duration, |
| genre, and more.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>New media codecs and |
| containers</strong></p> |
| |
| <p>Android 4.0 adds support for additional media types and containers to give |
| developers access to the formats they need. For high-quality compressed images, |
| the media framework adds support for WebP content. For video, the framework now |
| supports streaming VP8 content. For streaming multimedia, the framework supports |
| HTTP Live streaming protocol version 3 and encoding of ADTS-contained AAC |
| content. Additionally, developers can now use Matroska containers for Vorbis and |
| VP8 content.</p> |
| |
| |
| <h3 id="connectivity-dev">New types of connectivity</h3> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Wi-Fi Direct</strong></p> |
| |
| <p>Developers can use a framework API to discover and connect directly to nearby |
| devices over a high-performance, secure Wi-Fi Direct connection. No internet |
| connection or hotspot is needed.</p> |
| |
| <p>Wi-Fi Direct opens new opportunities for developers to add innovative |
| features to their applications. Applications can use Wi-Fi Direct to share |
| files, photos, or other media between devices or between a desktop computer and |
| an Android-powered device. Applications could also use Wi-Fi Direct to stream |
| media content from a peer device such as a digital television or audio player, |
| connect a group of users for gaming, print files, and more.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Bluetooth Health Device |
| Profile (HDP)</strong></p> |
| |
| <p>Developers can now build powerful medical applications that use Bluetooth to |
| communicate with wireless devices and sensors in hospitals, fitness centers, |
| homes, and elsewhere. Applications can collect and manage data from HDP source |
| devices and transmit it to backend medical applications such as records systems, |
| data analysis services, and others.</p> |
| |
| <p>Using a framework API, applications can use Bluetooth to discover nearby |
| devices, establish reliable or streaming data channels, and manage data |
| transmission. Applications can supply any IEEE 11073 Manager to retrieve and |
| interpret health data from Continua-certified devices such as heart-rate |
| monitors, blood meters, thermometers, and scales. </p> |
| |
| |
| <h3 id="uicomp-dev">New UI components and capabilities</h3> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Layout |
| enhancements</strong></p> |
| |
| <p>A new layout, GridLayout, improves the performance of Android applications by |
| supporting flatter view hierarchies that are faster to layout and render. |
| Because hierarchies are flatter, developers can also manage alignments between |
| components that are visually related to each other even when they are not |
| logically related, for precise control over application UI. GridLayout is also |
| specifically designed to be configured by drag-and-drop design tools such as the |
| ADT Plug-in for Eclipse.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>OpenGL ES texture |
| views</strong></p> |
| |
| <p>A new TextureView object lets developers directly integrate OpenGL ES |
| textures as rendering targets in a UI hierarchy. The object lets developers |
| display and manipulate OpenGL ES rendering just as they would a normal view |
| object in the hierarchy, including moving, transforming, and animating the view |
| as needed. The TextureView object makes it easy for developers to embed camera |
| preview, decoded video, OpenGL game scenes, and more. TextureView can be viewed |
| as a more powerful version of the existing SurfaceView object, since it offers |
| the same benefits of access to a GL rendering surface, with the added advantage |
| of having that surface participate fully in the normal view hierarchy.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Hardware-accelerated 2D |
| drawing</strong></p> |
| |
| <p>All Android-powered devices running Android 4.0 are required to support |
| hardware-accelerated 2D drawing. Developers can take advantage of this to add |
| great UI effects while maintaining optimal performance on high-resolution |
| screens, even on phones. For example, developers can rely on accelerated |
| scaling, rotation, and other 2D operations, as well as accelerated UI components |
| such as TextureView and compositing modes such as filtering, blending, and |
| opacity.</p> |
| |
| |
| <h3 id="input-dev">New input types and text services</h3> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Stylus input, button |
| support, hover events</strong></p> |
| |
| <p>Android 4.0 includes full support for stylus input events, including tilt and |
| distance axes, pressure, and related motion event properties. To help |
| applications distinguish motion events from different sources, the platform adds |
| distinct tool types for stylus, finger, mouse, and eraser. For improved input |
| from multi-button pointing devices, the platform now provides distinct primary, |
| secondary, and tertiary buttons, as well as back and forward buttons. |
| Hover-enter and hover-exit events are also added, for improved navigation and |
| accessibility. Developers can build on these new input features to add powerful |
| interactions to their apps, such as precise drawing and gesturing, handwriting |
| and shape recognition, improved mouse input, and others.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text services API for |
| integrating spelling checkers</strong></p> |
| |
| <p>Android 4.0 lets applications query available text services such as |
| dictionaries and spell checkers for word suggestions, corrections, and similar |
| data. The text services are external to the active IME, so developers can create |
| and distribute dictionaries and suggestion engines that plug into the platform. |
| When an application receives results from a text service — for example, |
| word suggestions — it can display them in a dedicated suggestion popup |
| window directly inside the text view, rather than relying on the IME to display |
| them. </p> |
| |
| |
| <h3 id="accessibility-dev">Enhanced accessibility APIs</h3> |
| |
| <p>Android 4.0 adds new accessibility features and an enhanced API to let |
| developers improve the user experience in their apps, especially on devices that |
| don’t have hardware buttons. For accessibility services such as screen readers |
| in particular, the platform offers new APIs to query window content, for easier |
| navigation, better feedback, and richer user interfaces.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Accessibility |
| API</strong></p> |
| |
| <p>To let applications manage interactions more effectively when accessibility |
| features are enabled, the platform adds accessibility events for |
| explore-by-touch mode, scrolling, and text selection. For these and other |
| events, the platform can attach a new object called an accessibility record that |
| provides extra information about the event context.</p> |
| |
| <p>Using the accessibility record and related APIs, applications can now access |
| the view hierarchy associated with an event. Applications can query for key |
| properties such as parent and child nodes, available states, supported actions, |
| screen position, and more. Applications can also request changes to certain |
| properties to help manage focus and selected state. For example, an |
| accessibility service could use these new capabilities to add convenient |
| features such as screen-search by text. </p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Text-to-speech |
| API</strong></p> |
| |
| <p>A new framework API lets developers write text-to-speech engines and make |
| them available to any app requesting TTS capabilities.</p> |
| |
| |
| <h3 id="data-dev">Efficient network usage</h3> |
| |
| <p>In Android 4.0, users can see how much network data their running apps are |
| using. They can also set limits on data usage by network type and disable |
| background data usage for specific applications. In this context, developers |
| need to design their apps to run efficiently and follow best practices for |
| checking the network connection. Android 4.0 provides network APIs to let |
| applications meet those goals.</p> |
| |
| <p>As users move between networks or set limits on network data, the platform |
| lets applications query for connection type and availability. Developers can use |
| this information to dynamically manage network requests to ensure the best |
| experience for users. Developers can also build custom network and data-usage |
| options into their apps, then expose them to users directly from Settings by |
| means of a new system Intent.</p> |
| |
| |
| <h3 id="security-dev">Security for apps and content</h3> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Secure management of |
| credentials</strong></p> |
| |
| <p>Android 4.0 makes it easier for applications to manage authentication and |
| secure sessions. A new keychain API and underlying encrypted storage let |
| applications store and retrieve private keys and their corresponding certificate |
| chains. Any application can use the keychain API to install and store user |
| certificates and CAs securely.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Address Space Layout |
| Randomization</strong></p> |
| |
| <p>Android 4.0 now provides address space layout randomization (ASLR) to help |
| protect system and third party applications from exploitation due to |
| memory-management issues.</p> |
| |
| |
| <h3 id="enterprise-dev">Enhancements for Enterprise</h3> |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>VPN client |
| API</strong></p> |
| |
| <p>Developers can now build or extend their own VPN solutions on the platform |
| using a new VPN API and underlying secure credential storage. With user |
| permission, applications can configure addresses and routing rules, process |
| outgoing and incoming packets, and establish secure tunnels to a remote server. |
| Enterprises can also take advantage of a standard VPN client built into the |
| platform that provides access to L2TP and IPSec protocols.</p> |
| |
| |
| <p style="margin-top:1em;margin-bottom:.75em;"><strong>Device policy management |
| for camera</strong></p> |
| |
| <p>The platform adds a new policy control for administrators who manage devices |
| using an installed Device Policy Manager. Administrators can now remotely |
| disable the camera on a managed device for users working in sensitive |
| environments.</p> |
| |
| |
| |
| |
| |