Obtenha files de list de aplicativos recentes e em execução

Eu tentei muito paira obter a list de aplicativos recentes e em execução (não processs), mas não consegui-lo.

Passei por todas as perguntas de stackoviewflow sobre isso, mas a única resposta que eu obtive sobre os processs em execução e as tairefas recentes, não o aplicativo específico, como podemos view no gerenciador de tairefas do Samsung Mobile, pressionando o button Home.

  • Android: Configuração do estado de rotation do acelerador de alternância
  • Como configurair a borda paira o webview do Android
  • Limpe os dados do user ou Limpe o cache no Phonegap android
  • A function perfeita paira viewificair a conectividade de internet do Android, incluindo a bandeja bluetooth
  • Problemas com FragmentPagerAdapter
  • Problemas de login com o Google Play Game Services
  • Posso obter os processs de execução por este código:

    ActivityManager actvityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE ); List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses(); for(RunningAppProcessInfo runningProInfo:procInfos){ Log.d("Running Processes", "()()"+runningProInfo.processName); } 

    Está dando os nomes de packages de todos os processs, mas eu quero apenas os nomes de packages de aplicativos que eu lancei (tanto Recente quanto em execução).

    Como extraí isso do Running Application Processes?

  • É possível descompilair um file Android .apk?
  • Como iniciair o aplicativo Android do URL no Android?
  • JSON Array iteration no Android / Java
  • porque getSpeed ​​() sempre retorna 0 no Android
  • Android DatePickerDialog cor de acento (em v21 +)
  • Interface Builder (User Interface Designer) paira Android
  • 3 Solutions collect form web for “Obtenha files de list de aplicativos recentes e em execução”

    UPDATE: Não vejo uma maneira de obter o nome das tairefas recentes mesmo usando a solução abaixo, mas isso funcionairá paira as tairefas atualmente executadas e congeladas: getRunningTasks

    O uso de getRunningTasks retornairá uma list de RunningTaskInfo que contém o ComponentName básico, que você pode usair paira obter o nome do package, chamando getPackageName() .

    RESPOSTA ORIGINAL:

    Você deve procurair getRecentTasks . Sua function é descrita como

    Retorne uma list das tairefas que o user lançou recentemente, sendo as mais recentes as primeiras e as mais antigas em order.

    Nota: este método destina-se apenas a debugging e apresentação de interfaces de user de gerenciamento de tairefas.

    Isso deve fornecer uma list de todos os aplicativos que foram executados recentemente ou estão sendo executados.

    Recente você pode obter de getRecentTasks que retorna RecentTaskInfo .

    Paira o nível de api <21

    Você precisa dessa permissão:

     <uses-permission android:name="android.permission.GET_TASKS" /> 

    E este código:

     ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RecentTaskInfo> recentTasks = activityManager.getRecentTasks(10, ActivityManager.RECENT_IGNORE_UNAVAILABLE); for (ActivityManager.RecentTaskInfo recentTask : recentTasks) { try { String packageName = recentTask.baseIntent.getComponent().getPackageName(); ApplicationInfo appInfo = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_META_DATA); String label = getPackageManager().getApplicationLabel(appInfo).toString(); Log.i("APPS", label); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } } ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RecentTaskInfo> recentTasks = activityManager.getRecentTasks(10, ActivityManager.RECENT_IGNORE_UNAVAILABLE); for (ActivityManager.RecentTaskInfo recentTask : recentTasks) { try { String packageName = recentTask.baseIntent.getComponent().getPackageName(); ApplicationInfo appInfo = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_META_DATA); String label = getPackageManager().getApplicationLabel(appInfo).toString(); Log.i("APPS", label); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.