Evitar las actividades duplicadas

Por lo tanto, soy nuevo en Java y para la creación de aplicaciones para Android, pero no es nuevo en la programación. He leído la mayor parte del sitio developer.android.com, pero no he podido encontrar esto:

Quiero asegurarme de que una determinada actividad no se esté ejecutando más de una vez al mismo tiempo. Así que tenemos una tarea algo así:
Actividad A) una TabActivity, que lanza
Actividad B) un ListView que, al hacer clic, se abre
Actividad C) que es la interfaz para un objeto mediaplayer

En este momento, cada vez que alguien pulsa el botón de retroceso mientras está en C (lo que es probable, porque van a escuchar un streaming de 1 hora de duración mp3) y luego presiona otro elemento de la lista, en lugar de volver a C, C Se abre una segunda vez, y dos corrientes están jugando. Por supuesto, me gustaría sólo una instancia de C en ejecución, y quiero un segundo clic en el elemento de la lista para traer C de nuevo a la parte delantera. Esto también podría ser útil para propósitos de notificación.

He estado jugando con las banderas (especialmente FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_CLEAR_TOP y FLAG_ACTIVITY_REORDER_TO_FRONT), pero no hay éxito hasta ahora.

Si alguien pudiera ayudarme aquí, podría concentrarme en mi siguiente desafío: convertirlo en un verdadero lector de feeds: P

Gracias por adelantado,

Necesita marcar su actvity como "singleTask" o "singleInstance" en su manifiesto. No puedo recordar las diferencias exactas entre los 2, pero cualquiera debe hacer lo que usted quiere. SingleInstance hace algo diferente con la pila.

Ejemplo:

 <activity android:name="MainActivity" android:launchMode="singleInstance"></activity> 

Puede manejar nuevas llamadas a startActivity () desde la misma instancia de actividad con onNewIntent()

¡Lo tengo!

Para aquellos que leen esta pregunta y quieren saber el resumen: Pensé erróneamente que más de una actividad se estaba ejecutando, pero apareció más instancias de MediaPlayer en ejecución. Hice mi mediaplayer un miembro de la clase y ahora lo estoy controlando del acontecimiento del onStart ().

Estoy usando SharedPreferences para comprobar si la corriente necesita reajustar y cambiar la fuente, o continuar funcionando y apenas demostrar la interfaz.

Gracias por todas tus reacciones. Realmente me ayudó.

Simplemente edite los nombres de los paquetes en .xml

EX: com.org.MainActivity cambia a .org.MainActivity

Funciona para mi ….. yup

  • Cómo revertir una transacción en Android?
  • Para el desarrollo de Android, algunas preguntas sobre Java SDK y versiones de 32/64 bits
  • Jmdns registra en la interfaz IPv4, pero transmite IPv6
  • Preguntas que cada desarrollador de Smartphone (Iphone, Android) debería ser capaz de responder?
  • Mes en la clase SimpleDateFormat
  • Obtener todas las carpetas google drive api en Android
  • Error de Android Studio v2.2.2 (27,17) no pudo resolver junit: junit4.12
  • ¿Qué ocurre con mi técnica de monitorización de sensores?
  • No se puede leer packageName desde AndroidManifest.xml
  • Cómo obtener fechas de la base de datos y comprobar si se solapan?
  • Cómo cambiar el color de texto de SlidingTabLayout?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.