1 votes

Mettez les applications en veille prolongée, mais faites-les se réveiller périodiquement pendant une courte période.

Beaucoup d'entre nous, utilisateurs d'Android, ont probablement déjà entendu parler de Greenify - une application qui permet de mettre automatiquement en veille prolongée les applications dès que vous éteignez l'écran. Cela fonctionne même en maintenant leur fonctionnalité GCM - ainsi, dès qu'un message dans le nuage leur est adressé, elles se réveillent à nouveau.

Malheureusement, ce réveil ne fonctionne qu'avec le GCM. Je veux maintenant mettre en hibernation une application non GCM, mais la réveiller par intervalles (par exemple, la mettre en hibernation toutes les 30 minutes pendant 1 minute, puis la remettre en hibernation automatique).

Est-ce possible - et si oui, comment ?

Mon appareil est enraciné, le cadre XPosed est installé, et tasker Les solutions impliquant un ou plusieurs de ces critères sont donc également les bienvenues.

2voto

Milner Points 533

Oh bien, oh mon la question incluait presque la réponse. Il faut encore faire quelques tests (je viens juste de le mettre en place), en utilisant tasker qui a un Greenify plugin :

  • Condition :
    • Event ' Display ' Display Off
  • Tâche :
    1. Tâche ' Attendre : 20 s (juste au cas où)
    2. Tâche ' Ancre : (Nom, étape facultative)
    3. Plugin ' Greenify ' Hibernate : Choisissez l'application
    4. Tâche ' Attendre : 30 min (ou le temps que vous souhaitez que l'application soit en hibernation)
    5. Plugin ' Greenify ' Wakeup : Reprenez l'application¹
    6. Task ' Goto : Numéro d'action, 2
  • Tâche de sortie :
    • Plugin ' Greenify ' Wakeup : Reprenez l'application¹

Note : C'est comme ça que je serait le mettre en place. J'ai dû sauter la tâche de sortie car Tasker ne me laisse pas en ajouter un. Donc, c'est le point crucial ici : Je dois faire confiance Tasker pour restaurer correctement "l'état précédent". Si cela ne fonctionne pas, je vais devoir créer un deuxième profil pour Evénement ' Affichage : Display On (ce qui, étant un EVENEMENT, feu quand l'affichage sera transformé en on - ce n'est pas un état) et avoir une seule tâche pour faire ce qu'autrement la tâche de sortie ferait.

Note 2 : Pour que cela fonctionne, vous devez d'abord ajouter l'"application cible" à la liste d'hibernation de Greenify (c'est-à-dire indiquer à Greenify qu'il doit l'hiberner lorsque vous éteignez l'écran). Si vous ne le faites pas, l'application ne sera jamais mise en veille prolongée.


¹ si votre application ne réagit pas à la commande de réveil, voir <a href="https://android.stackexchange.com/a/179699/16575">La réponse de Xavier </a>pour une commande shell alternative à essayer

1voto

xavier_fakerat Points 9582

J'ai découvert que certaines des applications en hibernation ne répondaient pas à Greenify. Wake à la place, j'ai utilisé la commande start service commande pour "réveiller" l'application cible (sans ouvrir son interface utilisateur)

Contexte du profil

  • Event ' Display ' Display Off

Tâche

  • Cliquez sur "+" pour ajouter une nouvelle action

  • Tâche ' Attente : n'importe quelle valeur prédéfinie, par exemple 20s (comme ci-dessus).

  • Task ' Anchor : (Nom, étape facultative)

  • Plugin ' Greenify ' Hibernate : Choisissez l'application

  • Tâche ' Attendre : 30 minutes (ou toute autre durée pendant laquelle vous souhaitez que l'application soit mise en hibernation).

  • Code >> Exécuter Shell [ Commande ( am startservice -n com.package.name/.service name , Tick "Utiliser la racine"]

    NB : le nom du service est juste un service déclaré dans le manifeste Android qui démarre une application sans ouvrir l'interface utilisateur, c'est-à-dire en arrière-plan. outils à utiliser si vous n'êtes pas sûr du nom du service)

  • Appuyez sur la touche retour pour quitter cette tâche

  • Cliquez sur "+" pour ajouter une autre action

  • Task >> Goto [Action Number, 2 (anchor task)]

    Comme @Izzy l'a dit, vous pouvez compter sur l'"état précédent" de Tasker pour réinitialiser la configuration, car l'ajout d'une tâche de sortie n'est pas probable.

Ma solution consiste simplement à démarrer le service de l'application en hibernation (IMO=réveil de l'application) car il arrive que l'application ne se réveille pas en utilisant la fonction Greenify. réveil comme je l'ai rencontré précédemment :)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X