Skip to content

Instantly share code, notes, and snippets.

@mengdd
Created November 10, 2016 02:46
Show Gist options
  • Save mengdd/b33d2ed7eaadc5e55c1e729e0080a0c6 to your computer and use it in GitHub Desktop.
Save mengdd/b33d2ed7eaadc5e55c1e729e0080a0c6 to your computer and use it in GitHub Desktop.
method to check if is on main process
import android.app.ActivityManager;
import android.content.Context;
import android.os.Process;
import android.util.Log;
import java.util.List;
public class ProcessUtils {
private boolean isOnMainProcess(Context context) {
Context applicationContext = context.getApplicationContext();
List<ActivityManager.RunningAppProcessInfo> runningAppProcesses =
((ActivityManager) applicationContext.getSystemService(Context.ACTIVITY_SERVICE)).getRunningAppProcesses();
if (runningAppProcesses != null && runningAppProcesses.size() != 0) {
for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) {
Log.i("ddmeng", "== my pid: " + android.os.Process.myPid() + "==");
Log.i("ddmeng", "runningAppProcess processName: " + runningAppProcessInfo.processName);
Log.i("ddmeng", "runningAppProcess pid: " + runningAppProcessInfo.pid);
boolean isCurrentProcess = runningAppProcessInfo.pid == Process.myPid();
boolean isMainProcessName = context.getPackageName().equals(runningAppProcessInfo.processName);
if (isCurrentProcess && isMainProcessName) {
return true;
}
}
}
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment