Maison / Maîtriser l'ordinateur / Module complémentaire multi-fenêtres Android 5. Comment activer "multi-fenêtres": Une fonctionnalité expérimentale dans Marshmallow. Gestion des fenêtres dans Lollipop

Module complémentaire multi-fenêtres Android 5. Comment activer "multi-fenêtres": Une fonctionnalité expérimentale dans Marshmallow. Gestion des fenêtres dans Lollipop

Traduction... Traduire chinois (simplifié) chinois (traditionnel) anglais français allemand italien portugais russe espagnol turc

Malheureusement, nous ne sommes pas en mesure de traduire ces informations pour le moment. Veuillez réessayer ultérieurement.

Revoir

Le travail simultané avec plusieurs fenêtres dans Android est une fonctionnalité intéressante qui peut distinguer votre application de beaucoup d'autres, lui donner un avantage concurrentiel supplémentaire. De nombreux OEM et ODM tels que Samsung, Ramos et Huawei sont soumis à des Système Android finalisation. En particulier, ils introduisent la prise en charge du mode multi-fenêtres. Ils le font afin d'augmenter l'attractivité de leurs smartphones et tablettes, pour les distinguer de la plupart des appareils qui ne supportent pas une telle fonction.

Image 1. Scénarios d'utilisation du mode multi-fenêtres

Information préliminaire

En juin 2012, il a été présenté Pierre angulaire est la première plateforme open source pour le multitâche sur Android. En août 2012, Samsung a lancé le premier appareil prenant en charge le fonctionnement multi-fenêtres. De 2013 à nos jours, vous pouvez voir la croissance explosive des solutions pour prendre en charge le travail simultané avec plusieurs fenêtres dans Android.

En mai 2015, Android M Developer Preview est sorti (aujourd'hui, en juillet, Preview 2 est déjà disponible). La sortie officielle d'Android M (6.0) est prévue pour l'automne 2015. Entre autres innovations, Android M Preview 2 se distingue par le fait qu'il prend en charge le mode multi-fenêtres.

Figure 2. Développement de solutions multitâches Android

Il existe deux approches pour travailler avec plusieurs fenêtres : les fenêtres flottantes et les fenêtres ancrées. Parmi les principales caractéristiques du travail en mode multi-fenêtres, on peut noter l'ouverture et la fermeture des fenêtres (open/close), la modification de leur taille (resize) et position relative(échanger). En ouvrant ou en fermant une fenêtre, nous activons ou désactivons respectivement le mode multi-fenêtres. La fonction de redimensionnement vous permet d'ajuster la taille des fenêtres. Le repositionnement des fenêtres est une action qui vous permet de les échanger.

Figure 3.Styles de fenêtres multi-fenêtres

En 2013, de nombreuses solutions sont apparues sur le marché conçues pour fonctionner avec plusieurs fenêtres. Ils ont été développés par des OEM et des ODM, des ISV et la communauté open source. Dans le tableau ci-dessous, vous pouvez trouver une comparaison des différentes technologies multi-fenêtres Android.

ProduitPierre angulaire Ressortir Xposé Lier à
DescriptionCadre d'organisation du multitâche dans le système d'exploitation AndroidUne bibliothèque open source qui peut être utilisée pour créer des applications avec des fenêtres flottantesUne application multi-fenêtres qui prend en charge les fenêtres ancréesLe projet vise à créer un environnement de travail rappelant le travail sur un PC de bureau
Prise en charge de l'ouverture, de la fermeture des fenêtres, du redimensionnement, du plein écranOuiOuiOuiOui
Style de fenêtreÉpingléflottantÉpingléFixe et flottant
Modification du codeAu niveau Plateformes Android Au niveau des applicationsAu niveau de la plateforme AndroidAu niveau de la plateforme Android
Support d'applicationToutes les applications sont prises en charge, mais SurfaceView n'est pas configuré dynamiquement.Quelques applications de soutien. Par exemple, une calculatrice.La compatibilité et la stabilité de la solution doivent être améliorées.Prend en charge toutes les applications.
Version AndroïdAndroid 4.1 ~ Android 4.4Android 4.1~
Android 4.4
Android 4.4Android 4.4
Site officielhttp://www.onscreen.comhttp://forum.xda-developers.com/showthread.php?t=1688531http://forum.xda-developers.com/xposedhttps://github.com/tieto/multiwindow_for_android

Architecture logicielle

Le code de la plateforme Android peut être modifié afin de l'équiper d'un support caractéristiques supplémentaires. L'architecture du système d'exploitation Android se compose de plusieurs couches.

Dans le cas d'Android 4.2 et d'Android 4.3., le shell (lanceur) et les autres applications sont placés sur la même pile lors de leur lancement, appelée « pile principale » (« main stack »). Comme vous le savez, le mode multi-fenêtre nécessite plus de piles pour accueillir plusieurs fenêtres. Par conséquent, nous devons modifier la classe système ActivityManagerService en lui ajoutant une interface pour créer et gérer la pile. Pour modifier la classe de plateforme WIndowManagerService, qui permet de gérer représentations graphiques applications, vous devez modifier le fichier InputManager. Cela est nécessaire pour qu'il puisse rediriger les événements tactiles vers les fenêtres appropriées.

Avec la sortie d'Android 4.4 et d'Android 5.0, l'approche de la gestion de la pile a considérablement changé. Le shell et d'autres applications peuvent s'exécuter sur différentes piles. La prise en charge de plusieurs piles et la possibilité de les gérer ont été ajoutées au système. La figure ci-dessous montre les différences de travail avec la pile dans différentes versions Android.

Figure 4 Comparaison du travail avec la pile dans Android 4.3 et Android 4.4

Concentrons-nous maintenant sur Android 5 (Lollipop). Le système d'exploitation Android utilise des mécanismes de rappel pour exécuter les fonctions d'interface d'une activité. Cependant, la fonction de contrôle est mise en œuvre au niveau de la plate-forme. Par conséquent, nous allons maintenant examiner deux classes importantes : ActivityManagerService et WindowManagerService.

Figure 5 Structure logicielle de la plateforme Lollipop

Gérer une activité dans Lollipop

Étant donné que la possibilité de travailler en mode multi-fenêtre dépend de la pile, ce qui suit montre comment vous pouvez créer une pile et comment vous pouvez démarrer une activité dans cette pile. Dans Lollipop, les fonctions suivantes ont été ajoutées à l'interface IactivityManager.java :

Une fois démarré, le processus SystemServer appelle les services du gestionnaire d'activités et les services de gestion des fenêtres. Afin d'observer ce processus, nous pouvons ajouter des commandes pour lancer une exception d'exécution (RuntimeException) aux endroits appropriés.

Figure 6 Processus de création de pile dans Lollipop

Voyons maintenant comment démarrer une activité sur la pile :

Figure 7 Lancer une activité sur la pile

Dans Lollipop, adb (pont de débogage Android) a ajouté les commandes suivantes.

Dans Lollipop, les commandes suivantes ont été ajoutées à l'utilitaire ADB (Android Debug Bridge) :

Gestion des fenêtres dans Lollipop

WindowManagerService est la partie centrale du système de gestion de fenêtres. Sa fonctionnalité comprend la distribution d'événements d'entrée, la gestion de l'emplacement des objets sur l'écran et les surfaces sur lesquelles les éléments graphiques sont affichés.

Figure 8 Rôle de WindowsManagerService dans l'architecture graphique Android

Problèmes multi-fenêtres

Lorsque vous travaillez en mode multi-fenêtres, le redimensionnement des fenêtres est disponible. Il existe des exemples où la taille de la fenêtre qui affiche l'animation du jeu ne peut pas être modifiée. La raison principale en est que le sous-système Android SurfaceFlinger ne peut pas redimensionner dynamiquement l'image rendue.

Figure 9 Les jeux utilisant SurfaceFlinger ne peuvent pas redimensionner dynamiquement la fenêtre

Un autre problème est que certaines applications en mode multi-fenêtres ne s'affichent pas correctement. Dans la figure ci-dessous, vous pouvez voir que la calculatrice multi-fenêtres ne s'affiche pas correctement. Tout dépend de la mise en page de l'application, qui n'est pas conçue pour conditions similaires utiliser.

Figure 10.Calculatrice avec mise en page non conçue pour fonctionner en mode multi-fenêtres

Prise en charge de plusieurs fenêtres dans Android M

Android M Developer Preview 2 peut être exécuté sur Nexus 5, 6, 9 et Nexus Player. Si vous ne possédez pas un tel appareil ou si vous ne souhaitez pas installer un système d'exploitation en état de prévisualisation, vous pouvez vous familiariser avec Android M à l'aide de l'émulateur d'Android Studio. En particulier, nous nous intéressons maintenant à signifie standard pour travailler en mode multi-fenêtres.

Pour voir ce mode en action, il suffit de créer un nouvel appareil virtuel à l'aide de l'outil AVD Manager, tout en choisissant l'un de ceux disponibles avec l'API Level MNC comme image système. Dans notre cas, il s'agissait d'une image x86_64. Ensuite, vous devez démarrer l'émulateur, accéder à la section Paramètres du développeur et y activer l'option Multifenêtre. Si vous ne trouvez pas cette option, consultez ce guide

Maintenant le plus intéressant. Pour commencer, vous pouvez exécuter quelques applications, tout se passera comme d'habitude. Mais si vous cliquez sur le bouton pour appeler la liste des applications récemment ouvertes, dans les titres de la fenêtre des vignettes apparaîtront nouvelle icône. Par défaut, il s'agit d'un cadre indiquant que l'application s'exécute dans mode plein écran. Cliquez sur cette icône pour afficher un menu de sélection de la disposition des fenêtres.

Figure 11.Mode multi-fenêtres dans Android M

On ne sait toujours pas si le multi-fenêtres sera disponible dans la version officielle d'Android M. Cependant, par exemple, la calculatrice système dans ce mode se sent bien. En conséquence, nous avons de bonnes raisons de croire que le jour n'est pas loin où l'adaptation des applications au mode multi-fenêtres passera d'un avantage concurrentiel à un besoin urgent.

Si vous souhaitez équiper vos applications conçues pour plus premières versions Android, avec la prise en charge de plusieurs fenêtres, il est temps de se tourner vers les solutions tierces évoquées ci-dessus. Par exemple, à Cornerstone.

Exemple : pierre angulaire

Onskreen a créé Cornerstone, le premier framework multi-fenêtres pour Android. Il est conçu pour les appareils avec de grands écrans et des tablettes. Le code source peut être téléchargé depuis Github. Il prend en charge les versions Android 4.1 et 4.2. Pour les versions ultérieures de ce système d'exploitation, Cornerstone n'a pas encore été publié. Cependant, vous pouvez analyser le code source d'Android 4.2 afin de connaître les détails techniques du fonctionnement du système.

Figure 12. Modifications fondamentales dans Android Jelly Bean

Résultats

Dans de nombreux appareils mobiles travaillant sous Contrôle Android Système d'exploitation utilisé Processeurs Intel®. Comment les développeurs peuvent-ils améliorer l'expérience utilisateur de leurs applications ? Comment rendre les applications plus compétitives ? Ces questions nous poussent à améliorer continuellement les produits sur les appareils à architecture Intel (IA). La prise en charge de plusieurs fenêtres est bon exemple une fonctionnalité utile qui donne aux applications un avantage concurrentiel. C'est pratique, le mode multi-fenêtres donne à l'utilisateur la possibilité d'effectuer plusieurs tâches en même temps. Par exemple, regardez une vidéo et écrivez une critique à vos amis sur ce qu'ils regardent. Par exemple, pour jouer à un jeu et lire ses critiques. Aujourd'hui, plusieurs appareils prennent en charge le fonctionnement multi-fenêtres. Par exemple, ce sont les tablettes Ramos i12, Teclast x98 et Cube i7, qui exécutent Remix OS.

Figure 13.Mode multi-fenêtres sur les appareils IA

L'annonce officielle d'Android 6.0 a eu lieu l'automne dernier. Comme il sied à toute mise à jour majeure, Marshmallow a apporté un grand nombre de modifications du système d'exploitation mobile de Google. Cependant, il s'est récemment avéré que certaines des fonctions du système sont cachées aux yeux des utilisateurs ordinaires. Pour accéder à la fonctionnalité cachée, vous devez suivre un certain nombre d'étapes simples. Dans cet article, nous allons vous montrer comment activer le mode multi-fenêtres sur Android 6.0.

Tout d'abord, il faut dire que cette consigne ne sera pertinent que pour les utilisateurs qui ont reçu des droits root sur leurs appareils.


Après le redémarrage, dans le menu de toutes les applications ouvertes, vous aurez une icône supplémentaire, qui vous permettra d'utiliser le mode multi-fenêtres sur Android 6.0 Marshmallow.

Malheureusement la fonctionnalité ce mode pour l'instant extrêmement limité. L'utilisateur ne peut pas modifier indépendamment la largeur des fenêtres ou sélectionner les applications à afficher. Le développeur lui-même appelle cette fonctionnalité une fonctionnalité de test, et elle ne commencera à fonctionner pleinement qu'avec les prochaines mises à jour. Il est curieux que dans les versions de firmware personnalisées, par exemple, dans

Comme nous le savons déjà version Android Nougat possède de nombreuses fonctionnalités qui peuvent rendre l'expérience utilisateur aussi fluide que possible. Moments de base dernière mise à jour Android inclut une barre de notification améliorée, des optimisations de transfert de données et d'économie d'énergie et une prise en charge des appareils réalité virtuelle. L'un des aspects les plus importants de l'innovation, qui a conquis de nombreux fans (dont nous), est un ensemble d'options de gestion des tâches. Grâce à dernière mise à jour Android 7.0 Nougat, vous pouvez désormais utiliser deux applications en même temps en mode multi-fenêtres.

Note

Nous tenons à vous informer que toutes les applications ne se valent pas,
et pour cette raison, vous constaterez que tous ne sont pas compatibles avec le mode multi-fenêtres. Cependant, ne vous inquiétez pas - ce n'est pas votre faute, mais la faute des développeurs, car ils auront besoin de plus de temps pour créer la prochaine mise à jour avant que d'autres applications puissent fonctionner dans le mode ci-dessus. Aujourd'hui, il existe un moyen de contourner ce problème. Vous pouvez exécuter n'importe quelle application en mode multi-fenêtres à partir de "Outils de développement" dans dernière version mobile système opérateur de Google.

Lancer n'importe quelle application en mode multi-fenêtres dans Android Nougat

Vous devez d'abord activer l'élément "Outils de développement" sur votre téléphone. Pour ce faire, accédez au schéma "Paramètres> Outils de développement> À propos de l'appareil". Ensuite, cliquez plusieurs fois sur le numéro de build jusqu'à ce qu'un message indiquant que vous êtes devenu développeur s'affiche.

Revenez maintenant au menu des paramètres et ouvrez les outils de développement. Faites défiler jusqu'en bas de la page et activez l'option "Forcer le redimensionnement des opérations". Lorsque vous faites cela, vous devrez redémarrer votre appareil pour activer cette option. Après cela, même les applications qui n'étaient pas compatibles avec la mise à jour de Nougat pourront fonctionner en mode multi-fenêtres.

Et enfin, pour utiliser le mode multi-fenêtres, ouvrez deux applications de votre choix, puis appuyez longuement sur la touche multitâche. Ces deux applications s'ouvriront désormais en mode multi-fenêtres.

Pensez-vous que le mode multi-fenêtres sera utile pour vos besoins multitâches ? Ou vous en tiendriez-vous à l'approche plus traditionnelle d'une tâche unique pour ce moment? Partagez vos pensées avec nous dans les commentaires.

Il existe plusieurs innovations qui ne sont pas visibles au premier coup d'œil et sont cachées aux yeux de l'utilisateur. Avec la puce en termes de changement d'icônes sur le panneau de commande, ainsi que d'affichage de la charge en pourcentage, peut-être que tout le monde s'est déjà rencontré, mais, hélas, vous ne pouvez pas activer le multi-fenêtre en tenant simplement l'engrenage. Comment être?

Oui, la possibilité de placer deux applications en cours d'exécution sur l'écran en même temps dans Android 6.0 est en effet fournie, mais la société n'est pas encore prête à y accéder, car la fonctionnalité est toujours en cours de développement et son activation peut conduire à travail précaire. Mais que se passe-t-il si vous voulez toujours vraiment essayer ?

Le processus ne prendra que quelques secondes, mais l'appareil doit être enraciné pour pouvoir apporter des modifications à un fichier situé dans le dossier racine "système".

Tout ce que vous avez à faire est d'ajouter la ligne

persist.sys.debug.multi_window=true

à la fin du fichier build.prop.

Après avoir enregistré la modification dans le fichier et redémarré l'appareil, vous verrez une nouvelle option dans l'onglet des applications récentes.

Pour le moment, il est peu probable que le multi-fenêtrage dans Marshmallow plaise, car il existe un certain nombre de restrictions. Il est impossible de redimensionner la fenêtre, sélectionnez vous-même la deuxième application (le système ouvrira automatiquement celle qui se trouve immédiatement après celle lancée dans l'onglet avec les applications récentes). Cependant, n'oubliez pas qu'il s'agit d'une fonctionnalité expérimentale et qu'il faudra un certain temps avant que tout fonctionne comme il se doit.

Sans aucun doute, le fait que des travaux soient déjà en cours vers un support multi-fenêtres plaira à tous les utilisateurs d'Android "pur", qui ont probablement longtemps voulu avoir une telle fonctionnalité sur leurs appareils (d'autant plus que Propriétaires de Samsung, LG, Sony, il est disponible depuis longtemps). Ainsi, nous voyons comment le tant attendu fonctionnalités utiles ce qui rend le système plus pratique et complet.

D'après Andro4all