| 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, stream items, 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 |
| Google Play. On the other device, the Google Play client 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.</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, stream items, |
| 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, stream items, 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, stream |
| items, 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 Google Play 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> |
| |
| |
| |
| |
| |