Bonjour,

je souhaite savoir si il est possible de connaitre l'application en cours d'utilisation par l'utilisateur. A l'heure actuelle, j'arrive a obtenir la liste des process actif sur le foreground mais malheuresement cela n'isole pas l'application précise car ca prend aussi les applications dans la barre de status.

Voici ce que j'utilise:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
  ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses)
        {
            if(appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
            {
                Log.d("Executed app", "Foreground " +appProcess.processName + "\t\t ID: " + appProcess.pid);
            }
        }
Voici ce que j'obtiens:

11-09 18:12:56.645 8821-8821/company.test D/Executed app﹕ Foreground company.gillot.test ID: 8821
11-09 18:12:56.645 8821-8821/company.test D/Executed app﹕ Foreground android.process.acore ID: 30279
11-09 18:12:56.645 8821-8821/company.test D/Executed app﹕ Foreground com.android.phone ID: 197
11-09 18:12:56.645 8821-8821/company.test D/Executed app﹕ Foreground system ID: 97
Quelqu'un aurez une idée ? je parcours les forums et l'api d'android mais jusqu'ici rien de bien précis.

BONUS:

Par la suite j'aimerais éviter de détecté les applications "système".

Merci d'avance.