Después de mucho trabajar hemos encontrado el resultado de esta dificultad que agunos usuarios de este espacio presentan. Si quieres compartir algún detalle puedes aportar tu conocimiento.
Solución:
Voy a publicar el comentario de @H9kDroid como la mejor respuesta aquí para las personas que tienen una pregunta similar.
Puede usar isTaskRoot() para saber si la actividad es la raíz de una tarea.
espero que esto ayude
ACTUALIZACIÓN (julio de 2015):
Dado que getRunningTasks() queda en desuso, desde API 21 es mejor seguir raukodraug responder o Ed Burnette uno (preferiría el segundo).
Existe la posibilidad de verificar las tareas actuales y su pila usando ActivityManager.
Entonces, para determinar si una actividad es la última:
- solicite los permisos android.permission.GET_TASKS en el manifiesto.
-
Usa el siguiente código:
ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE ); List
taskList = mngr.getRunningTasks(10); if(taskList.get(0).numActivities == 1 && taskList.get(0).topActivity.getClassName().equals(this.getClass().getName())) Log.i(TAG, "This is last activity in the stack");
Tenga en cuenta que el código anterior será válido solo si tiene una sola tarea. Si existe la posibilidad de que exista esa cantidad de tareas para su aplicación, deberá verificar otras lista de tareas elementos. Leer más sobre tareas Tareas y Back Stack
Espero que esto ayude a los nuevos principiantes, según las respuestas anteriores que me funcionan bien, también estoy compartiendo un fragmento de código para que sea fácil de implementar.
solución : solía isTaskRoot()
que regresan true si la actividad actual es solo actividad en su pila y aparte también manejo caso en el cual si tengo algo de actividad en la pila, vaya a la última actividad en la pila en lugar de abrir una nueva uno personalizado
en tu actividad
@Override
public void onBackPressed()
if(isTaskRoot())
startActivity(new Intent(currentActivityName.this,ActivityNameYouWantToOpen.class));
// using finish() is optional, use it if you do not want to keep currentActivity in stack
finish();
else
super.onBackPressed();
Sección de Reseñas y Valoraciones
Si guardas algún dilema o forma de aclarar nuestro reseña eres capaz de escribir un paráfrasis y con deseo lo interpretaremos.