Me gustaría poder iniciar una actividad o servicio y obtener el PID de ese proceso lo más rápido posible, de inmediato sería el mejor de los casos. ¿Tengo alguna otra opción que no sea explorar el directorio/proc, que luego conduce a una condición de carrera de cantidad variable entre el momento en que se inicia la actividad/servicio y el tiempo que me lleva encontrar lo que quiero en el proceso? directorio y comenzar a observar?Android obtener PID de otras aplicaciones
Respuesta
Creo que necesitaría usar ActivityManager: vea http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html para la información del proceso. Usted podría:
- Obtenga todos los procesos de la aplicación en ejecución.
- Encuentra tu aplicación.
- Obtenga su PID.
Gracias. Me temo que esto también conducirá a una condición de carrera entre cuando Inicié la aplicación para crear un perfil y obtener el PID, pero parece más limpio que navegar en el directorio/proc para obtener un +1 – MattC
Ah: si buscas en otro proceso para esto, entonces sí, hay alguna posibilidad de que no lo hagas lo veo por un tiempo indefinido. No estoy seguro de que haya una alternativa mejor. Hough: avísame si encuentras uno. – Femi
¿Hay alguna forma de lograr esto en Android API 21 y superior? No creo que RunningAppProcessInfo esté expuesto en Android L y superiores. –
for (RunningAppProcessInfo runningProInfo : runningProcInfo) {
int pid = runningProInfo.pid;
Log.e(TAG+"-pid", ""+pid);
}
Dónde TAG = "Name_Of_Your_Activity"
ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> pidsTask = activityManager.getRunningAppProcesses();
for(int i = 0; i < pidsTask.size(); i++) {
nameList.add(pidsTask.get(i).processName);
idList.add(pidsTask.get(i).uid);
}
pidsTask.get (i) .uid // Retorno PID para Aplicaciones (Proceso)
- 1. IIS grupo de aplicaciones PID
- 2. Android, detectar cuando se inician otras aplicaciones
- 3. obtener PID de paramiko
- 4. Información de Android sobre superposiciones/elementos flotantes sobre otras aplicaciones
- 5. Obtener el nombre de PID?
- 6. Cómo obtener pid de pthread
- 7. Android - ¿Cómo obtener el processName o packageName utilizando PID?
- 8. Iniciar otras aplicaciones con Java
- 9. Obtener lista de aplicaciones de Android instaladas
- 10. obtener pid del proceso hijo
- 11. Salir de otras aplicaciones en el cacao
- 12. Obtener PID de MS-Word ApplicationClass?
- 13. Proporcionar un servicio en segundo plano para otras aplicaciones
- 14. Otras herramientas para desarrolladores de Android
- 15. ¿Usando SwingEventMonitor para monitorear otras aplicaciones?
- 16. Cómo verificar el permiso de licencia de Android de otras aplicaciones
- 17. Django: ¿se extienden otras aplicaciones ModelAdmin?
- 18. Eliminar notificaciones de la barra de notificaciones de otras aplicaciones
- 19. ¿Cómo obtener el PID infantil en C?
- 20. Obtener nombre del proceso por PID
- 21. ¿Qué protege las contraseñas de Android AccountManager de ser leídas por otras aplicaciones?
- 22. obtener la cuenta de descarga de aplicaciones del mercado android
- 23. Aplicaciones con Android firmado
- 24. ¿Cómo obtener pid de la aplicación de Android sin usar el shell adb?
- 25. Cómo impido que otras aplicaciones de Android accedan a mis actividades
- 26. Obtener iconos de todas las aplicaciones instaladas en Android
- 27. ¿Recursos para implementar ERP y otras aplicaciones empresariales?
- 28. MVC2 Aplicaciones (y otras) compartiendo servicios de WCF y autenticación
- 29. ¿Cómo obtener el PID de la tarea de rake actual?
- 30. Android: ¿puedo pasar un parámetro cuando inicie otras aplicaciones desde mi aplicación?
Simplemente curioso, pero ¿para qué? – John
Los componentes de aplicaciones se pueden ejecutar en procesos diferentes y los componentes de diferentes aplicaciones pueden compartir el mismo proceso, por lo que no hay una relación de uno a uno, por lo que no tiene sentido. –
@john trabajando en un perfilador de aplicaciones por razones de seguridad. Es importante que pueda implementar mis herramientas de monitoreo y recopilar datos antes de que la aplicación se active. – MattC