¿Podemos tener múltiples instancias de un servicio en Android? Quiero un servicio que pueda hacer que el teléfono permanezca en silencio en un momento específico y quiero volver a utilizar ese servicio para que el teléfono esté en modo de vibración en un tiempo específico. Entonces, básicamente, si puedo hacer que el servicio se ejecute varias veces, entonces no hay necesidad de crear otro servicio para configurar el teléfono en el modo de vibración. Además, si podemos ejecutar múltiples instancias, por favor explica cómo detenerlo. Cualquier sugerencia de código ayudará mucho.Cómo tener múltiples instancias de servicio en Android
Respuesta
¿Podemos tener múltiples instancias de un servicio en Android?
No. Usted puede tener varias subclases de Service
, pero cualquier subclase dada de Service
tendrá exactamente 0 o 1 instancias en un momento dado.
Quiero un servicio que pueda hacer que el teléfono permanezca en silencio en un momento específico y quiero reutilizar ese servicio para que el teléfono esté en modo de vibración en un tiempo específico.
No debe utilizar un servicio para nada de eso. Use AlarmManager
y BroadcastReceiver
, por favor.
No creo que el servicio se pueda utilizar para tal fin. El servicio debe proporcionar alguna funcionalidad, pero solo un significado, no para varios propósitos diferentes. Es mejor crear un servicio adicional para mantener el código simple y claro.
Su pregunta no tiene mucho sentido. Parece que lo que quieres hacer es tener varias instancias del mismo servicio ejecutándose y haciendo cosas diferentes a la vez. Pero su pregunta depende fundamentalmente del hecho de que los servicios no deberían hacer cosas en una escala de tiempo larga. En cambio, lo que debería suceder es que reciban un intento, tal vez engendren un hilo o algo, y luego dejen de dar vueltas. Recuerde que un servicio aún se ejecuta en el hilo principal, no está en segundo plano, por lo que no debe ejecutar cosas largas de todos modos. Lo que tal vez quiera ver es un servicio atento, que se coordina con sus actividades mediante el uso de intenciones que controlan lo que debería estar sucediendo.
- 1. ¿Puede un servicio Android tener múltiples permisos?
- 2. Múltiples instancias de IntentService en Android
- 3. Android AsyncTask: evitar instancias múltiples ejecutando
- 4. cómo instalar múltiples instancias del mismo servicio de Windows
- 5. ¿Puede un servicio tener múltiples puntos finales?
- 6. es posible tener múltiples instancias de variables estáticas
- 7. Múltiples instancias de Redis
- 8. Múltiples instancias de intención pendiente
- 9. ¿Múltiples instancias de iPhone Simulator?
- 10. Servicio de Android interactuando con múltiples actividades
- 11. Múltiples instancias de variables estáticas
- 12. Javascript str.search() instancias múltiples
- 13. Impedir instancias de formularios múltiples
- 14. ¿Cómo tener múltiples pares "View-ViewModel"?
- 15. Múltiples instancias en una página con Javascript
- 16. ¿Cómo tener múltiples restricciones en Rails routes.rb?
- 17. Iniciando múltiples instancias upstart automáticamente
- 18. Tener múltiples repositorios Git
- 19. ¿Cómo puedo tener varias instancias de webkit sin compartir cookies?
- 20. Cómo configurar JAVA_HOME para múltiples instancias de Tomcat?
- 21. Múltiples instancias de una sola DLL MEF
- 22. Aplicación ASP.NET instalador de MSI instancias múltiples
- 23. apio con múltiples instancias de django
- 24. Servicio Symfony 2 con varias instancias?
- 25. Android: ¿Es posible tener múltiples preferencias compartidas distintas por aplicación?
- 26. Evitar múltiples instancias de un servicio: ¿cuál es el mejor enfoque?
- 27. ¿Cómo configurar un solo servicio WCF para tener múltiples puntos finales HTTP y HTTPS?
- 28. Múltiples instancias de autocompletar de jQuery en una página
- 29. ¿Cómo tener múltiples transiciones de CSS en un elemento?
- 30. ¿Cómo configurar CKEditor para múltiples instancias con diferentes alturas?
Gracias, estoy usando AlarmManager para iniciar el servicio en algún intervalo de tiempo. ¿Podría ayudarme a entender BroadcastReceiver y cómo usarlo usando AlarmManager? –
@SumitSahoo: en lugar de llamar a 'getService()' para crear su 'PendingIntent', usted llama a' getBroadcast() '. Y, en lugar de que su lógica comercial esté en un 'Servicio', está en un' BroadcastReceiver' (típicamente registrado en el manifiesto a través de un elemento ' '). –
CommonsWare