test studio software sirve samsung saber que programacion programa para fallas esta dinamico detectar desde dañado como celular catalogo android back-stack activity-stack

studio - ¿Cómo encontrar actividades de pila en una aplicación de Android?



programacion android pdf 2018 (7)

Tengo una aplicación con actividades en la parte trasera de la pila A -> B -> C -> D -> E. Ahora, en la actividad E, quiero saber las actividades de la pila de la parte trasera desde las que navegué. ¿Cómo encuentro esto?



El código a continuación se puede usar para extraer todas las tareas y la actividad principal dentro de cada tarea en la pila trasera

ActivityManager m = (ActivityManager) ctx.getSystemService( ctx.ACTIVITY_SERVICE ); List<RunningTaskInfo> runningTaskInfoList = m.getRunningTasks(10); Iterator<RunningTaskInfo> itr = runningTaskInfoList.iterator(); while(itr.hasNext()){ RunningTaskInfo runningTaskInfo = (RunningTaskInfo)itr.next(); int id = runningTaskInfo.id; CharSequence desc= runningTaskInfo.description; int numOfActivities = runningTaskInfo.numActivities; String topActivity = runningTaskInfo.topActivity.getShortClassName(); }


Le recomiendo utilizar startActivityForResult en lugar de startActivity, luego para recuperar la actividad de origen / origen, llame a getCallingActivity (). GetClassName ().

¿Cómo sabrá A que vino de casa? Use getIntent () su getAction () -> android.intent.action.MAIN y getCategories () -> android.intent.category.LAUNCHER


No estoy seguro de haberlo hecho bien ... ¿Desea volver a la actividad anterior? Si es así, finalice la actividad actual y volverá a la anterior.



Si getRunningTasks(..) ha quedado en desuso o si no desea agregar permisos especiales a su aplicación, esta es una solución alternativa si todas las actividades son suyas: puede marcar un identificador (no la actividad en sí es que puede ser necesaria) para ser recolectados en la basura) en una Stack singleton, LinkedList o LinkedHashSet : en onPause() agregue el identificador a la pila y elimínelo en onResume() .

Puede verificar el contenido de esas pilas para saber si hay alguna actividad y la secuencia que se han creado.

Puede limpiar su código y olvidarse de hacerlo manualmente si todas sus actividades se derivan de una actividad base común para su aplicación.


en realidad, puede obtener el ID de tarea del runningtaskinfo utilizando getRunningTasks y luego, obtener el recenttaskinfo utilizando getRecentTasks comparando el ID de tarea. ahora puede reiniciar esa actividad utilizando startactivity, con el intérprete base en recenttaskinfo.