51

How can I get an android application pid without using adb shell? Is there any API to get pid. any help will be appreciated

Gabboxl
  • 65
  • 2
  • 12
RanjitRock
  • 1,373
  • 5
  • 19
  • 35

2 Answers2

108

As every application has its own process id, one can get it by

int pid = android.os.Process.myPid();
Jared Rummler
  • 36,896
  • 19
  • 133
  • 145
Mohammed Azharuddin Shaikh
  • 40,812
  • 14
  • 95
  • 115
17

This also works:

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
int processid = 0;
for (int i = 0; i < pids.size(); i++) {
    ActivityManager.RunningAppProcessInfo info = pids.get(i);
    if (info.processName.equalsIgnoreCase("here your package name")) {
       processid = info.pid;
    } 
}
Jared Rummler
  • 36,896
  • 19
  • 133
  • 145
kiran boghra
  • 3,412
  • 2
  • 17
  • 23