2015-08-21 2 views
0

Avec le nouvel ajout de la "toujours sur" api dans une mise à jour récente avec usure Android, naturellement, j'essaie de l'intégrer dans mon application de fitness. Après avoir fait de la lecture sur le site des développeurs Android, il semble que la seule façon de réveiller le processeur en mode ambiant est d'utiliser un gestionnaire d'alarme. Cependant cette méthode n'est pas très cohérente ou précise.Android Wear - Comment (si possible) maintenir le processeur éveillé en mode ambiant?

1) Avec l'alarme réglée pour réveiller le processeur et changer l'heure à l'écran après 3 secondes, il rebondit entre 5 et 10 secondes.

2) La plupart du temps, le procédé onEnterAmbient() n'a pas encore appelé jusqu'à environ une minute en étant en mode ambiante (le gestionnaire est toujours en cours d'exécution et de mise à jour de l'écran à la fréquence normale)

3) ensemble, si tout le monde connaît une façon différente de pousser les mises à jour à l'écran en mode ambiant qui serait fantastique! (Principalement je crois qu'il ya une autre façon en raison du fait que watchfaces sont en mesure de mettre à jour et afficher des animations chaque seconde en mode ambiant)

Répondre

0

Vous pouvez garder le processeur en cours d'exécution en mode ambiant en utilisant verrouillage de réveil:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "awake"); 
wl.acquire(30000); // with 30s timeout or manually via wl.acquire() wl.release() 

Mais vous devez prendre en compte l'augmentation de la consommation d'énergie, ce qui n'est pas une bonne idée en mode ambiant.

+0

J'apprécie votre aide! Je suis conscient de l'épuisement possible de la batterie, j'essaie simplement de faire fonctionner un service GPS comme vous pouvez le faire sur un téléphone (l'application en cours/une application musicale a toujours un service en cours, j'essaie de le faire avec le regarder). – Kyle