¿Es posible iniciar una actividad desde un servicio? Si es así, ¿cómo podemos lograr esto?¿Cómo iniciar una actividad desde un servicio?
Respuesta
android.app.Service
es descendiente de android.app.Context
por lo que puede usar startActivity
directamente. Sin embargo, como comienza esto fuera de cualquier actividad, debe establecer el indicador FLAG_ACTIVITY_NEW_TASK
en el intento.
Por ejemplo:
Intent i = new Intent();
i.setClass(this, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
donde this
es su servicio.
Tuve un problema al iniciar una actividad de un servicio, fue debido a la bandera de intento FLAG_ACTIVITY_NEW_TASK faltante.
No sé pero puedo iniciar Actividad directamente desde el Servicio sin ninguna marca y está funcionando bien –
Esto sin duda va a resolver su problema
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName cn = new ComponentName(this, TaxiPlexer.class);
intent.setComponent(cn);
startActivity(intent);
Hola Tengo un Problema de iniciar actividad cuando la aplicación está cerca del servicio (FCM) El código anterior funciona solo cuando la aplicación ya está abierta. Por favor, ayúdenme para que esto abra la aplicación desde el fondo ejecutando el servicio –
Incluso si el marco le permite iniciar una actividad de un servicio, que probablemente no es una solución adecuada. El motivo es que la tarea Servicio puede o no ser el objetivo del usuario en el momento en que el Servicio desea interactuar con el usuario. Interrumpir lo que el usuario está haciendo actualmente se considera una mala forma de diseño, especialmente de algo que se supone que funciona en segundo plano.
Por lo tanto, debe considerar el uso de un Servicio de Notificación con Notificación, que tiene un PendingIntent para iniciar la Actividad deseada cuando el usuario decida que es hora de investigar. Piense en ello como gratificación retrasada.
- 1. ¿Cómo iniciar un servicio de Android desde una actividad y detener el servicio en otra actividad?
- 2. Iniciar un servicio de la actividad
- 3. ¿Iniciar una vista desde un servicio?
- 4. Android - Cómo iniciar una nueva actividad desde una instancia
- 5. "No se puede iniciar Intención servicio" error al iniciar el servicio de una actividad en Android
- 6. Iniciar un servicio remoto desde C#
- 7. Iniciar el servicio desde la notificación
- 8. Iniciar una actividad con un parámetro
- 9. iniciar una actividad de preferences.xml
- 10. Cómo iniciar una actividad de vista personalizada
- 11. ¿Cómo iniciar una actividad que se define en un paquete diferente desde un widget?
- 12. ¿Cómo puedo actualizar la información en una actividad de Android desde un fondo? Servicio
- 13. ¿Cómo iniciar correctamente la actividad desde PostExecute en Android?
- 14. iniciar el servicio de Windows desde java
- 15. Android: parámetro pase a servicio desde Actividad
- 16. Cómo finalizar una actividad desde un adaptador ...?
- 17. ¿Cómo iniciar una aplicación desde un navegador?
- 18. ¿Cómo iniciar la actividad desde el AppWidget de Android?
- 19. Iniciar el servicio desde el inicio de la aplicación, no la actividad
- 20. Propósito de iniciar una actividad de navegación
- 21. ¿Cómo iniciar una actividad con una pestaña específica?
- 22. ¿Es posible iniciar una actividad como un nuevo proceso?
- 23. Cómo puedo iniciar una Intención desde un OnClickListener
- 24. ¿Cómo comienzo una actividad desde dentro de un fragmento?
- 25. Android: iniciar nueva actividad desde la clase de aplicación
- 26. cómo devuelve un servicio el resultado de una actividad
- 27. Iniciar una nueva Actividad de clase no Actividad
- 28. ¿Cómo iniciar automáticamente un servicio web C#?
- 29. de acceso directo para iniciar una actividad
- 30. Cómo iniciar el servicio en un nuevo hilo en Android
Esto es bueno, pero cada vez que Activiyt comience como una nueva actividad iniciada. Y este tipo de llamada funciona solo una vez. ¿O extraño algo? – uzay95
@MarcinGil ¿sabes si esto es un comportamiento intencional? En otras palabras, ¿sabes si los ingenieros de Google diseñaron servicios para poder abrir una actividad sin la interacción del usuario y si el proceso siempre es fluido? – MikeIsrael
@MikeIsrael Creo que es. Solo imagine que el servicio del sistema que se ejecuta en segundo plano no puede mostrar la actividad de aceptar/rechazar en la llamada entrante. Como usted es el desarrollador del servicio y sabe qué actividad desea mostrar, todo depende de usted. Puede usar servicios iniciados desde su aplicación para realizar algunas operaciones y, por ejemplo. activar la aplicación en ciertos factores desencadenantes; como el estado de la actualización en la barra de notificaciones y la aplicación de inicio con un clic. –