¿Cómo encontrar las aplicaciones en ejecución en programación en android?
Soy muy nuevo en Android. Estoy trabajando en la aplicación que debe obtener la información sobre las aplicaciones que se ejecutan actualmente en primer plano.
Significa que si el usuario lanza alguna aplicación, mi aplicación debería capturar la información de la aplicación iniciada, para cuando mi aplicación no interrumpa la aplicación iniciada.
- Android - System.currentTimeMillis () no funciona como se esperaba
- Modificación de la imagen de recurso de la barra de progreso
- Cómo establecer un intervalo de minutos personalizado en TimePickerDialog en Android
- "Clase no encontrada" al ejecutar pruebas JUnit desde IntelliJ IDEA (Android)
- Android - paint.setShadowLayer Omitiendo shadowColor
Ejemplo: Si el usuario inicia la aplicación del navegador, mi aplicación debe imprimir la información de la aplicación del navegador en el registro.
¿Cómo puedo hacer esto?
- Hacer eclipse depurar mi androide PROYECTO
- El menú de opciones de Android no se muestra
- onDowngrade () en SQLiteOpenHelper (u otra forma de no bloquearse al degradar)
- Android.support.v7.widget.AppCompatTextView no se puede convertir en android.widget.RelativeLayout
- Pase y reciba el objeto JSON de Jersey Resftul webservice desde android
- Intención de difusión cancelada. GCM de Android
- ¿Por qué android.database.SQLException está desmarcada?
- Enviar mensaje udp desde el teléfono android a la PC (windows) no funciona
ActivityManager activity_manager = (ActivityManager) context .getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager
tiene el método getRunningTasks(int)
. ActivityManager
parece ser la solución que está buscando.
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE); for (int i = 0; i < recentTasks.size(); i++) { Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+""); }
También, eche un vistazo al siguiente subproceso: Ver tarea reciente de Android ejecutada por el usuario
Puedes usar algo similar a esto:
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE); for (int i = 0; i < tasks.size(); i++) { Log.d("Running task", "Running task: " + tasks.get(i).baseActivity.toShortString() + "\t\t ID: " + tasks.get(i).id); }
Este código proporcionará el actual logit de acitvity
Process logcatProc; List <String> progs = new ArrayList <String>(); progs.add("logcat"); progs.add("-v"); progs.add(mFormat.getValue()); if (mBuffer != Buffer.MAIN) { progs.add("-b"); progs.add(mBuffer.getValue()); } progs.add("*:" + mLevel); logcatProc = Runtime.getRuntime() .exec(progs.toArray(new String[0])); mReader = new BufferedReader(new InputStreamReader( logcatProc.getInputStream()), 1024); String line; while (mRunning && (line = mReader.readLine()) != null) { if (!mRunning) { break; } if (line.length() == 0) { continue; } if (mIsFilterPattern) { if (mFilterPattern != null && !mFilterPattern.matcher(line).find()) { continue; } } else { if (mFilter != null && !line.toLowerCase().contains(mFilter.toLowerCase())) { continue; } } synchronized (mLogCache) { mLogCache.add(line); } }