3 votes

Les applications de type Geofence ne fonctionnent pas sous Android 7.1.1 ?

J'ai donc deux applications qui utilisent Geofence. Nest (Auto-Away) et August (Auto-Unlock). Elles sont toutes deux créées par des entreprises très différentes et font des choses très différentes.

J'ai remarqué que si l'application n'est PAS ouverte, aucune de ces fonctions ne fonctionne. Ce n'est que lorsque j'ouvre l'application que quelque chose se passe.

Par exemple, August m'envoie une notification lorsqu'il détecte que je quitte la maison. J'ai quitté la maison, et sur le chemin du retour, j'ai sorti mon téléphone, ouvert l'application August, et la notification est apparue.

J'ai essayé de sélectionner les applications comme "Ne pas optimiser" dans les paramètres d'optimisation de la batterie, mais cela n'a rien changé.

J'ai la mauvaise habitude de fermer toutes les applications dans la barre des récentes, mais j'essaie de voir si le fait de la laisser ouverte va arranger les choses, mais j'aimerais vraiment une solution où je n'aurais pas à le faire.

J'utilise Android 7.1.1 sur un Nexus5X. Que puis-je faire ?

EDIT : J'ai remarqué que la Geofence de IFTTT fonctionne.

1voto

Nate D Points 95

Je sais que je réponds à ma propre question, mais la meilleure solution que j'ai trouvée est cette application :

https://play.google.com/store/apps/details?id=com.atasoglou.autostartandstay&rdid=com.atasoglou.autostartandstay

En gros, ça a rouvert August à chaque fois que j'ai essayé de le fermer. Ce n'est pas très élégant, mais ça fait l'affaire.

@Chahk a inspiré cette réponse, une fois que j'ai su qu'il fallait juste le forcer à s'exécuter au premier plan, une simple recherche sur Google m'a donné la chose dont j'avais besoin.

0voto

xavier_fakerat Points 9582

Pour que vous puissiez faire fonctionner les applications dans le sol, celles-ci ont besoin d'un programme de service en cours d'exécution. Vous pouvez le faire en :

  • Donner aux applications une priorité mémoire plus élevée (afin qu'elles ne soient pas détruites lorsque la mémoire du système est faible).
  • Liste blanche des applications dans les fonctions d'économie d'énergie du téléphone, les tueurs de tâches ou les programmes d'hibernation.
  • Activation d'une notification persistante pour que les services du programme continuent de fonctionner en arrière-plan. (Paramètres >> Gestionnaire de notifications >> Toujours autoriser) Voir la capture d'écran :

ADM persistent notification

Capture d'écran (cliquez sur l'image pour l'agrandir)

Laissez-le également fonctionner en arrière-plan via le gestionnaire de téléphone :

b

Capture d'écran (cliquez sur l'image pour l'agrandir)

(Je m'excuse de cacher le nom de certaines applications pour d'autres raisons, mais je pense que cela n'affectera pas la qualité de la réponse).

Ou bien lorsqu'il est enraciné utilisez ce code sur le terminal à chaque lancement de l'application :

echo "-17" > /proc/`pidof com.package.name`/oom_adj

OU

Voici quelques applications pour les appareils enracinés :

Gestionnaire de la mémoire vive (RAM Manager)

Ce que cette application affecte :

  • OOM_ADJ (Hors mémoire)

    Chaque processus a une valeur qui donne au noyau un indice sur le processus qu'il peut tuer dans une situation d'OOM (out of memory).

  • LMK (Low memory killer)

    Fonctionne avec vos applications en mémoire. Cela affecte votre multitâche et la mémoire libre. Mais Android fonctionne avec la mémoire différemment de ce à quoi vous êtes peut-être habitué. Android a besoin d'avoir des applications en cours d'exécution au premier plan en raison du passage rapide entre vos applications. Cela signifie qu'il n'est pas bon d'avoir trop de mémoire libre. Votre système vous donne la quantité de mémoire dont vous avez besoin.

    y

    Casier à mémoire

    Memory Locker contrôle le fichier dans le répertoire /data et contrôle également les fichiers système dans Root pour définir oom_adj pour tous les processus en cours. Toutes les applications verrouillées sont automatiquement verrouillées après chaque redémarrage, vous n'avez donc pas besoin de verrouiller à nouveau vos applications après chaque redémarrage.

Crédits :

  1. Android - Maintenir l'application en vie
  2. Gestionnaire de RAM

J'avais un problème similaire avec d'autres applications qui se fermaient automatiquement, mais ceci a résolu plusieurs problèmes. J'espère que cela vous aidera.

0voto

Chahk Points 19297

Pour ce qui est des notifications manquantes, il semble que les deux applications n'utilisent pas Messagerie Google Cloud (alias GCM) ou son successeur, Firebase Cloud Messaging .

La seule façon pour une application de continuer à fonctionner lorsque vous la faites glisser hors du menu Récents, c'est qu'elle est configurée pour fonctionner au premier plan. Cela empêche également le système d'exploitation de détruire le service de l'application lorsque le système manque de ressources. Android exige que toute application qui s'exécute au premier plan place une notification permanente (celle qui ne peut pas être déplacée) dans la barre d'état. Cette fonctionnalité est parfaite pour la surveillance continue, comme le geofencing. Encore une fois, ce n'est pas quelque chose que vous pouvez contrôler en tant qu'utilisateur final, et un développeur doit mettre en œuvre cette fonctionnalité.

J'enverrais un retour d'information aux développeurs de ces applications pour leur demander de mettre en œuvre ces fonctionnalités.

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