Skip to content

A small library to get the current running processes on Android

License

Notifications You must be signed in to change notification settings

haozi5205/AndroidProcesses

 
 

Repository files navigation

AndroidProcesses

A small library to get the current running processes on Android


Why would I need this?

As of Android 5.0, it has become increasingly difficult to get a list of running apps. getRunningTasks(int) is now deprecated. Android 5.1.1+ killed getRunningAppProcesses() (as of Android 5.1.1+ it only returns your app). The documentation hasn't changed and Google is ignoring requests to either update the documentation or restore the original implementation.

Using UsageStatsManager, it is possible to get a list of running apps. However, this requires the user to grant your application special permissions in Settings. It has been reported that some OEMs have removed this setting.

This library gets a list of running apps and doesn't require any permissions. See the sample application for details. Download the sample APK.

Download

Download the latest AAR or grab via Gradle:

compile 'com.jaredrummler:android-processes:1.0.1'

or Maven:

<dependency>
  <groupId>com.jaredrummler</groupId>
  <artifactId>android-processes</artifactId>
  <version>1.0.1</version>
</dependency>

Examples

Get a list of RunningAppProcessInfo:

List<ActivityManager.RunningAppProcessInfo> appProcesses = ProcessManager.getRunningAppProcessInfo(context);

Check if your app is in the foreground:

if (ProcessManager.isMyProcessInTheForeground()) {
  // do stuff
}

Get running apps and some information about them:

List<AndroidAppProcess> processes = ProcessManager.getRunningAppProcesses();
for (AndroidAppProcess process : processes) {
  String processName = process.name;
  
  Stat stat = process.stat();
  int pid = stat.getPid();
  int parentProcessId = stat.ppid();
  long startTime = stat.stime();
  int policy = stat.policy();
  char state = stat.state();

  Statm statm = process.statm();
  long totalSizeOfProcess = statm.getSize();
  long residentSetSize = statm.getResidentSetSize();
}

About

A small library to get the current running processes on Android

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%