Je programme un minuteur pour lire RSSI en utilisant la fonction readRSSI , mais le minuteur s'arrête lorsque mon application passe en arrière-plan. Peut-être qu'il y a une bonne méthode pour obtenir la valeur RSSI de la notification du périphérique lorsque l'application arrive en arrière-plan . Mais je ne sais pas comment faire. Quelqu'un pourrait-il m'aider? Quelqu'un a une meilleure méthode?Je programme un minuteur pour lire RSSI en utilisant la fonction readRSSI, mais le minuteur s'arrête quand mon application passe en arrière-plan
Répondre
J'ai le même problème et j'ai deux idées.
1.
D'abord, vous devriez avoir un service qui a obtenu corebluetooth délégué periodly. F ou mon exemple, j'ai un service de batterie que je peux déléguer avec didUpdateValueForCharacteristic
périodiquement.
Ensuite, définissez la fonction readRSSI dans didUpdateValueForCharacteristic
. Et n'oubliez pas de définir le mode d'arrière-plan avec Corebluetooth. Ainsi, vous pouvez obtenir la mise à jour RSSI lors de la mise à jour de la valeur de la batterie.
Cela fonctionne très bien pour moi, mais j'ai eu une autre idée à partir d'un exemple de code.
2.
Utilisez le code ci-dessous chaque fois que vous voulez démarrer le lecteur RSSI:
NSTimer *rssiTimer;
[rssiTimer invalidate];
rssiTimer = [NSTimer timerWithTimeInterval:1.0 target:peripheral selector:@selector(readRSSI) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop]addTimer:rssiTimer forMode:NSRunLoopCommonModes];
Il fonctionne très bien pour moi aussi.
J'ai cette idée hier, et j'essaie de la résoudre en modifiant le périphérique. question est, je vois certaines applications qu'ils peuvent atteindre alerte à distance sans modifier mon appareil. – user2214220
Je ne sais pas exactement ce que signifie "modifier votre appareil". Pouvez-vous décrire en détail votre question? – momoyo
merci, j'ai trouvé la réponse. – user2214220
- 1. Faire un chronomètre en utilisant le minuteur pour javafx
- 2. Faire un minuteur en C++?
- 3. Quitter le minuteur en Java
- 4. Android - minuteur en service
- 5. Comment puis-je contrôler le minuteur en utilisant javascript
- 6. Minuteur global en JavaScript
- 7. Minuteur pour actualiser le formulaire
- 8. Minuteur en tâche de fond
- 9. Affichage du minuteur en utilisant Javascript/Jquery
- 10. Impossible d'exécuter mon minuteur
- 11. Minuteur JavaScript pour désactiver la fonction
- 12. Un seul thread Minuteur de minuteur regardé
- 13. noeud-horaire lire la valeur d'un minuteur
- 14. Comment puis-je boucler mon minuteur?
- 15. Minuteur en Java FX
- 16. Application Android Minuteur interne
- 17. Minuteur C++ en microsecondes
- 18. Comment configurer le minuteur en C++?
- 19. implémentation de minuteur en javascript
- 20. Application Android (Aide du minuteur)
- 21. Python mis en place un minuteur pour la connexion client
- 22. Comment régler un minuteur en PHP?
- 23. Utilisez jquery pour déclencher mon minuteur
- 24. Minuteur JavaScript pour un quiz
- 25. Minuteur sur un fil en Java
- 26. Comment puis-je obtenir le minuteur de service pour mon application d'enregistrement vidéo?
- 27. Mise en œuvre du minuteur en C pour supprimer un enregistrement dans la liste chaînée une fois le minuteur expiré
- 28. Quel est le problème avec mon minuteur?
- 29. Mon minuteur Android fonctionne lent
- 30. Comment fonctionne un minuteur?
Les applications iOS ne s'exécutent pas en arrière-plan, sauf si vous spécifiez qu'elles sont nécessaires, puis uniquement pendant une courte période. Toutes vos minuteries seront suspendues jusqu'à ce que l'application revienne au premier plan. (http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html) – Greg