Est-il possible d'activer ou de désactiver la fonction de rotation automatique par application?

17

J'en ai assez de devoir activer la rotation automatique chaque fois que j'utilise Google Maps pour la navigation. Je ne sais pas pourquoi ce n'est pas simplement un paysage comme des applications telles que Youtube.

Existe-t-il un moyen d'activer la rotation automatique JUST pour Google Maps et pas pour toute autre application.

Existe-t-il une application qui ferait cela ou le programmerait en quelque sorte dans Tasker?

Disque
la source
@Firelord: oui, normalement je suis en mode portrait, mais quand je veux utiliser Google Maps Navigation, je le veux en rotation automatique. Avoir Google Maps en rotation automatique serait acceptable si vous ne pouvez pas en isoler la partie navigation.
Diskdrive

Réponses:

22

Cette solution nécessite que Tasker soit installé et activé. Testé sur Android 4.2.1, 4.4.2, 5.0.2 et 5.1.1.

  1. Créez un profil avec Application → Cartes
  2. Créez une action sous Tâche du profil ci-dessus comme + → Affichage → Afficher la rotation automatique et réglez -la sur Activé .
  3. Activez Profile et Tasker.

Ouvrez Maps et orientez votre appareil en mode paysage, Maps vous suivra. Fermez les cartes et l'appareil reviendra à Portrait.

Prendre plaisir!


OU

Début de modification: 06/06/2015

Il existe un moyen de forcer le système à passer en mode Paysage en modifiant une valeur dans settings.db. (Testé sur Android 4.2.1, root requis uniquement sous cette modification.)

  1. Créez un profil avec Application → Cartes .
  2. Créez une action sous Tâche du profil ci-dessus comme + → Code → Exécuter le shell et entrez les détails suivants:

    • Commande :settings put system user_rotation 1
    • Cochez Utiliser la racine .
  3. Créez un autre profil avec l'inverse de Application → Cartes .
  4. Créez une action sous Tâche du profil ci-dessus comme + → Code → Exécuter le shell et entrez les détails suivants:

    • Commande :settings put system user_rotation 0
    • Cochez Utiliser la racine .
  5. Activez les profils et Tasker.

Les cartes passeront désormais automatiquement en mode paysage, quelle que soit l'orientation manuelle de votre appareil. Une fois que vous le fermez, l'appareil revient en mode Portrait. (Notez qu'OP a la fonction de rotation automatique désactivée, donc cela devrait fonctionner.)

Cette modification est destinée aux utilisateurs comme moi qui, sur les appareils lents, doivent attendre que l'application suive leur orientation. :)

Prendre plaisir!

OU

L'inconvénient de la dernière méthode est que sur certains appareils, l'application s'ouvrira d'abord en mode Portrait, puis forcera le passage en mode Paysage. Cependant, l'application peut être lancée directement en mode Paysage à l'aide d'un raccourci d'application. Tasker le permet et nous l'utiliserons.

  1. Accédez à votre lanceur par défaut → Widgets et choisissez Raccourci de tâche .
  2. Sélectionnez Nouvelle tâche → nommez-la.
  3. Créez une action comme + → Code → Exécuter le shell et entrez les détails suivants:

    • Commander :settings put system user_rotation 1
    • Cochez Utiliser la racine .
  4. Créez une autre action comme +Application → Lancer l'application → sélectionnez Cartes .
  5. Pour modifier l'icône du raccourci, appuyez sur l'icône carrée 3x3 (en bas du raccourci de tâche fenêtre ) et choisissez l'icône.
  6. Vous verrez maintenant un raccourci avec l'icône que vous avez sélectionnée à l'étape 4 et le nom choisi à l'étape 2.
  7. Créez un profil dans Tasker avec l'inverse de Application → Maps .
  8. Créez une action sous Tâche du profil ci-dessus comme + → Code → Exécuter le shell et entrez les détails suivants:

    • Commande :settings put system user_rotation 0
    • Cochez Utiliser la racine .
  9. Activez les profils et Tasker.

Profitez maintenant du mode automatique forcé!

Montage fermé: 06/06/2015


Pour les nouveaux venus dans Tasker

  1. Lancez Tasker. (Notez qu'une fois que vous avez terminé de modifier quelque chose dans Tasker, appuyez une fois sur la touche Retour. Tasker va modifier / fermer la fenêtre active et enregistrer les paramètres.)
  2. Sous l' onglet PROFILS, appuyez sur +Application → choisissez Cartes Nouvelle tâche → nommez-le et appuyez sur l'icône de droite.

    Certaines versions d'Android peuvent vous demander d'activer le service d'accessibilité de Tasker. Faites-le en suivant les instructions et revenez à Tasker.

    Cette étape créerait un profil qui sera déclenché chaque fois que Maps est lancé par l'utilisateur.

  3. Nous sommes maintenant sous la tâche nommée (dans l'onglet TÂCHES). Appuyez sur +Affichage → Afficher la rotation automatique → choisissez Onci-dessous Définir .

    Nous créons ici une action qui sera exécutée une fois le profil déclenché.

  4. Revenez à l'écran principal du Tasker et vous verrez un profil avec le nom de l'application Maps et marqué comme Activé .
  5. Réduisez le Tasker et vous verrez son icône dans la barre de notification. Ça va dire No active profile. Le message changera une fois que vous aurez lancé Maps.
  6. Eh bien, lancez Maps et voyez la magie. Vous orientez votre appareil et Maps fera de même. Vous fermez les cartes et l'appareil revient en mode portrait.
  7. Vous pouvez toujours arrêter ce comportement en désactivant ou en supprimant le profil dans Tasker. Vous pouvez également masquer l'icône de notification de Tasker via ses paramètres.

Profitez de Maps maintenant!

Seigneur du feu
la source
mec, c'est exactement ce que je cherchais. bravo pour ça!
Diskdrive
3
J'ai honte, Firelord! Habituellement, c'est moi qui amène Tasker à jouer. Cette fois, j'avais une autre application en tête et les utilisateurs de Tasker (comme moi) n'en auraient même pas besoin. Vous avez donc certainement gagné un +1 de ma part :) Et je vais voir apporter ma réponse alternative néanmoins, car Tasker est a) pas gratuit et b) souvent trop écrasant pour les débutants;)
Izzy
@Izzy Merci! Et j'attends avec impatience (comme toujours) une solution élégante pour tout le monde. La raison pour laquelle je n'ai pas étendu les étapes du Tasker dans plus de détails est que OP est au courant du Tasker. Cependant, c'est une erreur de ma part car un futur lecteur pourrait ne pas être au courant du savoir-faire de Tasker . Je suppose que je devrais l'écrire comme ceci pour un suivi facile. :)
Firelord
Pas de critiques pour vous (bien que je convienne que des étapes plus détaillées pourraient être utiles aux autres utilisateurs , je vois pourquoi elles n'étaient pas nécessaires ici). Je me giflais la tête sans y avoir pensé :)
Izzy
1
Hou la la! Un downvote! Cette réponse ne peut pas échouer , alors pourquoi a-t-elle reçu un downvote? Pensez à expliquer s'il vous plaît, respectueux votant.
Firelord
5

Si vous êtes enraciné (et que vous n'utilisez probablement pas la sucette), vous pouvez également utiliser les paramètres d' application du module xposed .

Ouvrez le module, recherchez et ouvrez Maps et allez dans la section Orientation et sélectionnez "rotation automatique". Cela le forcera à tourner automatiquement.

Jaskaranbir Singh
la source
Les fonctionnalités semblent prometteuses, mais existe-t-il un moyen de savoir comment ce module oblige une application à rester dans un mode? Si seulement je peux émuler ceci dans Tasker, on peut être sauvé de l'enracinement, ou peut-être que les paramètres nécessitent root. IDK!
Firelord
1
Désolé, il faudrait étudier son code source (ce que je n'ai pas), donc je ne peux pas encore dire exactement comment cela fonctionne: / Btw, voici le code source pour cela- > repo.xposed.info/module/de.robv.android .xposed.mods.appsettings :)
Jaskaranbir Singh
1
+1 Par rapport à ma réponse, "Rotation automatique forcée" est une bonne affaire, mais cela a un peu bloqué la température du processeur . ;)
Firelord
3

En plus de la solution Tasker de Firelord (que je préfère à toutes les autres mentionnées dans cet article - mais Tasker est a) pas gratuit et b) souvent un peu écrasant pour les débutants en particulier) et les paramètres d'application de Jaskaranbir (comme Tasker , Xposed est souvent un peu trop pour certains), il y a une troisième option disponible, appelée PerApp . Certes, il n'a pas été mis à jour depuis un moment, mais il pourrait être plus simple à utiliser. Avant JellyBean (<4.1), il n'a même pas besoin de root pour ajuster la rotation de l'écran. Plusieurs autres paramètres sont également couverts, vous pouvez donc y jeter un œil.

Izzy
la source
C'est précisément parce que de nombreuses applications de ce type n'ont pas été mises à jour depuis 2013, j'ai demandé à OP son appareil et sa version Android afin qu'une recommandation fine puisse apporter des réponses. Je suppose que OP est maintenant satisfait de Tasker. :) // Cela dit, puis-je forcer une application en mode paysage via Tasker? J'ai regardé AndroidManifest.xmlMaps mais IDT j'ai vu quelque chose d'utile.
Firelord
1
Je suis conscient que l'OP privilégie la solution Tasker (comme moi). Ma réponse était juste un ajout pour les futurs visiteurs à la recherche de "quelque chose de facile" :) Et non, je n'ai pas joué avec les trucs d'orientation dans Tasker, donc je ne peux pas le dire. Soyez les bienvenus pour vérifier ma collection de ressources Tasker , il pourrait y avoir des tutoriels ou des addons disponibles :)
Izzy
PerApp n'a pas fonctionné pour moi (Android Marshmallow)
marmor
3

Vous pouvez utiliser une application appelée Définir l'orientation par "Eyes-Free Project". Il ne nécessite pas de racine et peut forcer n'importe quelle application à pivoter dans n'importe quelle orientation et également uniquement le paysage et le paysage inversé en fonction du capteur. C'est léger et aussi gratuit. Il est disponible sur Google Play Store.

Edit: Utilisez plutôt Rotation - Orientation Manager par "Pranav Pandey". Il est entièrement compatible avec Lollipop, est gratuit et ne nécessite pas de root. Cette application possède également des paramètres par application que l'application précédente n'avait pas.

PSP
la source
+1. "Définir l'orientation" ne répond pas à l'exigence de la question car il applique l'orientation à l'échelle du système. D'un autre côté, "Rotation - Orientation manager" fait bien le travail pour chaque application. Cependant, cela n'a pas été fluide sur mon appareil (ancien appareil) mais fait le travail.
Firelord
1

La version gratuite de MacroDroid peut également faire le travail, bien que je préfère toujours la solution utilisant Tasker .

  1. Installez et lancez MacroDroid .
  2. Appuyez sur Ajouter une macro → Lanceur d'application / fermé → Application lancée → OK → sélectionnez votre ou vos applications pour la rotation automatique → OK .
  3. Sous Ajouter des actions , appuyez sur Rotation automatique activée / désactivée → Rotation automatique activéeOK → continuer.
  4. Ignorer Ajouter des contraintes → continuer et nommer la macro comme Auto Rotate On.
  5. Créez une autre macro en utilisant Ajouter une macro → Lanceur d'application / Fermé → Application fermée → OK → sélectionnez la ou les applications que vous avez choisies à l'étape 2 → OK .
  6. Sous Ajouter des actions , appuyez sur Rotation automatique activée / désactivée → Rotation automatique désactivée → OK → continuer.
  7. Ignorer Ajouter des contraintes → continuer et nommer la macro comme Auto Rotate Off.

C'est ça. La fonctionnalité est atteinte et vous pouvez la tester en lançant et en fermant les applications que vous avez sélectionnées dans les étapes susmentionnées.

Seigneur du feu
la source
1

La version gratuite d' AutomateIt fait également l'affaire.

  1. Installez et lancez AutomateIt.
  2. Sous le bloc Mes règles , appuyez sur Ajouter une règle → Déclencheur d'état des applications → sous Application, appuyez sur les icônes d'objectif et choisissez votre ou vos applications → Suivant .
  3. Sous l' onglet Action , appuyez sur Activer / désactiver la rotation d'écran → Activer la rotation d'écran → Suivant → Non → enregistrer la règle.
  4. Créez une autre règle à partir du bloc Mes règles en appuyant sur Ajouter une règle → Déclencheur d'état des applications → sous Application, appuyez sur les icônes d'objectif et choisissez votre ou vos applications → décochez Application activéeSuivant .
  5. Sous l' onglet Action , appuyez sur Activer / désactiver la rotation d'écran → Désactiver la rotation d'écran → Non → enregistrer la règle.

C'est ça. La fonctionnalité est atteinte et vous pouvez la tester en lançant et en fermant les applications que vous avez sélectionnées dans les étapes susmentionnées.

Seigneur du feu
la source
1

Et Tasker vous permet même d'ajouter des conditions telles que si mon affichage est tel, faites-le autrement. Sur cette base, j'ai trouvé ma propre solution qui peut sembler un peu compliquée, mais cela fonctionne pour moi. Étant donné que mon appareil n'est pas enraciné, les commandes de code shell qui nécessitent root ne fonctionneront pas de toute façon.

Cependant, avec une boucle if else (elle pourrait être réduite davantage puisque j'avais ajouté du code de débogage supplémentaire au départ), vous pouvez simplement définir AutoRotate en fonction de la valeur d'Orientation. Vous stockez donc ces deux valeurs dans deux variables appelées ROTATE et DISPLAY et au début de la boucle if, vous vérifiez DISPLAY en utilisant une expression régulière (je devais le faire parce que pour une raison quelconque, la valeur d'orientation ne cessait de basculer entre paysage et paysage inversé afin ce regex s'occupe des deux):

% AFFICHER ~ R paysage (. *)?

Si tel est votre réglage souhaité, dans cette boucle if ou else, vous pouvez régler AutoRotate sur Off . De plus, j'ai également installé un plugin Tasker appelé AutoInput qui me permet de verrouiller les boutons d'accueil et de retour, pour quitter, je peux appuyer sur l'autre bouton qui affiche toutes mes fenêtres ouvertes et fermer simplement l'application Adobe Acrobat qui est le déclencheur de cette tâche.

Donc un grand Yay !! pour Tasker. Et oui je sais que je suis un peu en retard à la fête mais bon eh bien :)

Isaac
la source