Comment garder une application de premier plan fonctionnant 24/7?
Je suis à la recherche dans la façon de garder mon Android une application qui s'exécute en arrière-plan.
Il sera privé application distribuée, afin que je puisse faire tout son possible pour s'assurer qu'il fonctionne en permanence sur le périphérique HDMI (TV Stick)
Alors, comment puis-je m'assurer que l'application des séjours à l'exécution de n'importe quoi? L'application est assez léger poids en termes d'utilisation des ressources, afin d'avoir fonctionner 24/7 devrait pas être un problème.
J'ai lu sur le paramètre persistent dans le manifeste, mais on dirait qu'il ne peut s'appliquer au système apps?
Dois-je faire une application une application système? Comment pourrais-je le faire et serait-il aider?
source d'informationauteur Mr Pablo
Vous devez vous connecter pour publier un commentaire.
Si vous voulez une app externe utilisation: Autostart et y Rester!
Si vous voulez le faire par programmation, vous pouvez utiliser un service qui interroge tous les "x" millisecondes pour voir si votre application est au premier plan. Si elle ne l'est pas, il va démarrer/mettre votre application en premier plan. De faire comme ceci:
Le code ci-dessus a également une "option" pour forcer l'Écran pour rester toujours sur! Bien sûr, vous aurez besoin des autorisations suivantes:
et n'oubliez pas d'enregistrer votre service:
utiliser ceci:
Et dans le manifeste:
Vu ici: Comment faire pour garder l'écran de mon Application?
C'est quelque chose de pas trop facile à atteindre en premier plan les applications sont techniquement pas censé être en cours d'exécution non stop. Aussi, si android est en cours d'exécution hors de la mémoire, il va commencer à tuer les applications qui posent le moins de risque qui aurait alors besoin de l'application pour être redémarré par l'utilisateur.
Comme mentionné, vous pouvez soit en faire une application système, mais je pense que vous avez besoin de la racine de l'appareil, ou de construire votre propre ROM et faire de votre application une partie de la ROM. Probablement pas la meilleure solution pour vos besoins, mais que peu de gens seront en mesure de flasher une ROM sur leurs appareils.
Je pense que la solution la plus simple serait de mettre dans le manifeste que votre application est un écran d'accueil de remplacement, c'est à dire un lanceur d'application. Je ne connais pas le code exact à partir du haut de ma tête, mais ce serait aller dans la section application dans le manifeste android. Cela signifie que dès que le dispositif de bottes, ou l'utilisateur appuie sur le bouton d'accueil, ils seront pris à votre application.
Vous pourriez mettre votre application à devenir un lanceur, en ajoutant 2 à la catégorie des balises dans
<intent-filter>
tags:alors vous devriez toujours vérifier si il y a une autre application de fonctionner sur le dessus, exécutez le code suivant à l'utilisateur de notre application:
J'ai essayé cette solution, mais il ne peut pas cacher les applications qui dessine sur le haut, à l'instar de Facebook Messenger chat de la tête.
J'ai résolu le problème en ayant un collant de service en cours d'exécution qui relance l'application lorsque l'activité est arriver fermé.
et dans le validateActivityOnPause() quelque chose comme:
Maintenant que activityManager.getRunningAppProcesses() est obsolète( comme de API21 ), vous souhaitez remplacer :
avec:
ne pas oublier d'importer une Liste avec:
Comme une note de côté, je ne suis pas sûr au sujet de l'OP de la façon de garder l'écran allumé en permanence. Je ne suis pas sûr qu'il fonctionne de la façon dont il l'a fait, mais plus important encore, il est obsolète et très déconseillées utilisation de Réveiller les Verrous que vous avez besoin pour ajouter des autorisations, ce qui ouvre la porte à des bugs. Plutôt, il est généralement préférable d'utiliser le gestionnaire de fenêtres des drapeaux:
https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_KEEP_SCREEN_ON