utilizar studio start programacion intent for example como android

studio - startactivityforresult android



¿Cómo iniciar una actividad desde un servicio? (4)

Esto seguramente resolverá tu 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);

¿Es posible iniciar una actividad desde un servicio? Si es así, ¿cómo podemos lograr esto?


Incluso si el marco te permite iniciar una actividad desde un servicio, probablemente no sea 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 usar 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.


Tuve un problema al iniciar una actividad de un servicio, fue debido a la bandera de intento FLAG_ACTIVITY_NEW_TASK faltante.


android.app.Service es descendiente de android.app.Context para que pueda usar startActivity directamente. Sin embargo, como comienza esto fuera de cualquier actividad, necesita 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 tu servicio