API Android 4.0.3

Niveau d'API:15

Android 4.0.3 (ICE_CREAM_SANDWICH_MR1) est une version incrémentielle de la famille de plates-formes Android 4.0 (ICE_CREAM_SANDWICH). Cette version inclut de nouvelles fonctionnalités pour les utilisateurs et les développeurs, des modifications apportées aux API et diverses corrections de bugs.

Pour les développeurs, la plate-forme Android 4.0.3 est disponible en tant que composant téléchargeable pour le SDK Android. La plate-forme téléchargeable comprend une bibliothèque et une image système Android, ainsi qu'un ensemble de skins d'émulateur et plus encore. Pour commencer à développer ou à tester avec Android 4.0.3, utilisez Android SDK Manager pour télécharger la plate-forme dans votre SDK.

Présentation de l'API

Les sections ci-dessous présentent un aperçu technique des nouvelles API d'Android 4.0.3.

API Social Stream dans le fournisseur de contacts

Les applications qui utilisent des données de flux de réseau social, telles que les mises à jour de statut et les check-ins, peuvent désormais synchroniser ces données avec chacun des contacts de l'utilisateur, en fournissant des éléments dans un flux avec des photos pour chacun.

La table de base de données contenant le flux social d'un contact individuel est définie par android.provider.ContactsContract.StreamItems, dont l'URI est imbriqué dans l'annuaire ContactsContract.RawContacts auquel les éléments de flux appartiennent. Chaque table de flux social comprend plusieurs colonnes pour les métadonnées de chaque élément du flux, comme une icône représentant la source (un avatar), un libellé pour l'élément, le contenu textuel principal, les commentaires sur l'élément (comme les réponses d'autres personnes), etc. Les photos associées à un flux sont stockées dans une autre table, définie par android.provider.ContactsContract.StreamItemPhotos, qui est disponible en tant que sous-répertoire de l'URI android.provider.ContactsContract.StreamItems.

Pour en savoir plus, consultez android.provider.ContactsContract.StreamItems et android.provider.ContactsContract.StreamItemPhotos.

Pour lire ou écrire des éléments de flux de réseau social pour un contact, une application doit demander l'autorisation de l'utilisateur en déclarant <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> et/ou <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"> dans ses fichiers manifestes.

Fournisseur d'agenda

Widgets de l'écran d'accueil

À partir d'Android 4.0, les widgets de l'écran d'accueil ne doivent plus inclure leur propre marge intérieure. À la place, le système ajoute désormais automatiquement une marge intérieure pour chaque widget, en fonction des caractéristiques de l'écran actuel. Cela permet d'obtenir une présentation plus uniforme et cohérente des widgets dans une grille. Pour aider les applications qui hébergent des widgets d'écran d'accueil, la plate-forme fournit une nouvelle méthode getDefaultPaddingForWidget(). Les applications peuvent appeler cette méthode pour obtenir la marge définie par le système et en tenir compte lors du calcul du nombre de cellules à allouer au widget.

Correction orthographique

  • Pour les applications qui accèdent aux services de correcteur orthographique, une nouvelle méthode cancel() annule toutes les tâches de correcteur orthographique en attente et en cours d'exécution dans une session.
  • Pour les services de correcteur orthographique, un nouvel indicateur de suggestions, RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS, permet aux services de distinguer les suggestions de confiance élevée de celles de confiance faible. Par exemple, un correcteur orthographique peut définir l'indicateur si un mot saisi ne figure pas dans le dictionnaire utilisateur, mais qu'il propose des suggestions probables, ou ne pas définir l'indicateur si un mot saisi ne figure pas dans le dictionnaire et qu'il propose des suggestions moins utiles.

    Les applications connectées au correcteur orthographique peuvent utiliser l'indicateur RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS en combinaison avec d'autres attributs de suggestion, ainsi que les méthodes getSuggestionsAttributes() et getSuggestionsCount(), pour déterminer si elles doivent marquer les mots saisis comme des fautes de frappe et proposer des suggestions.

  • Un nouveau style FLAG_AUTO_CORRECTION pour les plages de texte indique que la correction automatique est sur le point d'être appliquée à un mot/texte que l'utilisateur saisit/compose. Ce type de suggestion est affiché différemment pour indiquer que la correction automatique est en cours.

Bluetooth

Les nouvelles méthodes publiques fetchUuidsWithSdp() et getUuids() permettent aux applications de déterminer les fonctionnalités (UUID) compatibles avec un appareil distant. Dans le cas de fetchUuidsWithSdp(), le système effectue une détection de service sur l'appareil distant pour obtenir les UUID compatibles, puis diffuse le résultat dans un intent ACTION_UUID.

Kit d'UI

Les nouvelles méthodes setUserVisibleHint() et getUserVisibleHint() permettent à un fragment de définir une indication indiquant s'il est actuellement visible par l'utilisateur ou non. Le système diffère le démarrage des fragments qui ne sont pas visibles par l'utilisateur jusqu'à ce que les chargeurs des fragments visibles aient été exécutés. L'indice de visibilité est "true" par défaut.

Graphiques

Accessibilité

  • Les clients de RemoteViews peuvent désormais utiliser la méthode setContentDescription() pour définir et obtenir la description du contenu de n'importe quelle vue dans la mise en page gonflée.
  • Les méthodes getMaxScrollX(), getMaxScrollY(), setMaxScrollX() et setMaxScrollY() permettent aux applications d'obtenir et de définir le décalage de défilement maximal pour un objet AccessibilityRecord.
  • Lorsque le mode d'exploration tactile est activé, un nouveau paramètre sécurisé ACCESSIBILITY_SPEAK_PASSWORD indique si l'utilisateur demande à l'IME de lire le texte saisi dans les champs de mot de passe, même lorsqu'un casque n'est pas utilisé. Par défaut, aucun texte de mot de passe n'est prononcé, sauf si un casque est utilisé.

Synthèse vocale

  • Ajoute la nouvelle méthode getFeatures() pour interroger et activer la prise en charge du TTS réseau.
  • Ajoute une nouvelle classe d'écouteur, UtteranceProgressListener, que les moteurs peuvent enregistrer pour recevoir une notification d'erreurs de synthèse vocale.

Base de données

  • Une nouvelle classe CrossProcessCursorWrapper permet aux fournisseurs de contenu de renvoyer plus efficacement les résultats d'une requête inter-processus. La nouvelle classe est un élément de base utile pour les curseurs de retour à la ligne qui seront envoyés aux processus à distance. Il peut également transformer des objets Cursor normaux en objets CrossProcessCursor de manière transparente.

    La classe CrossProcessCursorWrapper corrige les problèmes de performances et les bugs courants rencontrés par les applications lors de l'implémentation de fournisseurs de contenu.

  • Le constructeur CursorWindow(java.lang.String) accepte désormais une chaîne de nom en entrée. Le système ne fait plus la distinction entre les fenêtres de curseur locales et distantes. CursorWindow(boolean) est donc désormais obsolète.

Intents

Ajoute de nouvelles catégories pour cibler des types d'applications courants sur l'appareil, tels que CATEGORY_APP_BROWSER, CATEGORY_APP_CALENDAR, CATEGORY_APP_MAPS, etc.

Appareil photo

Autorisations

Voici les nouvelles autorisations:

  • android.Manifest.permission#READ_SOCIAL_STREAM et android.Manifest.permission#WRITE_SOCIAL_STREAM: autorisez un adaptateur de synchronisation à lire et à écrire des données de flux social sur un contact dans le fournisseur de contacts partagé.

Pour obtenir un aperçu détaillé de toutes les modifications apportées aux API dans Android 4.0.3 (niveau d'API 15), consultez le rapport de différences des API.

Niveau d'API

L'API Android 4.0.3 est associée à un identifiant entier (15) stocké dans le système lui-même. Cet identifiant, appelé "niveau d'API", permet au système de déterminer correctement si une application est compatible avec le système avant de l'installer.

Pour utiliser les API introduites dans Android 4.0.3 dans votre application, vous devez compiler l'application avec une plate-forme Android compatible avec le niveau d'API 15 ou version ultérieure. Selon vos besoins, vous devrez peut-être également ajouter un attribut android:minSdkVersion="15" à l'élément <uses-sdk>.

Pour en savoir plus, consultez le document Niveaux d'API.