public void onClickKillProcess(View view) { Process.killProcess(Process.myPid()); }
@Override public void run() { Process.setThreadPriority(THREAD_PRIORITY_BACKGROUND); super.run(); } }
public static void killAllOtherProcess(Context context) { final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); if (am == null) { return; } List<ActivityManager.RunningAppProcessInfo> appProcessList = am .getRunningAppProcesses(); if (appProcessList == null) { return; } // NOTE: getRunningAppProcess() ONLY GIVE YOU THE PROCESS OF YOUR OWN PACKAGE IN ANDROID M // BUT THAT'S ENOUGH HERE for (ActivityManager.RunningAppProcessInfo ai : appProcessList) { // KILL OTHER PROCESS OF MINE if (ai.uid == android.os.Process.myUid() && ai.pid != android.os.Process.myPid()) { android.os.Process.killProcess(ai.pid); } } }
protected int getFakePid() { return Process.myPid(); }
@Implementation(minSdk = M) public StatusBarNotification[] getActiveNotifications() { StatusBarNotification[] statusBarNotifications = new StatusBarNotification[notifications.size()]; int i = 0; for (Map.Entry<Key, Notification> entry : notifications.entrySet()) { statusBarNotifications[i++] = new StatusBarNotification( RuntimeEnvironment.application.getPackageName(), null /* opPkg */, entry.getKey().id, entry.getKey().tag, android.os.Process.myUid() /* uid */, android.os.Process.myPid() /* initialPid */, 0 /* score */, entry.getValue(), android.os.Process.myUserHandle(), 0 /* postTime */); } return statusBarNotifications; }
@Override public void killApplicationProcess(final String processName, int uid) { synchronized (mProcessNames) { ProcessRecord r = mProcessNames.get(processName, uid); if (r != null) { killProcess(r.pid); } } }
public static void killProcessExceptMain(Context context) { final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); if (am == null) { return; } List<ActivityManager.RunningAppProcessInfo> appProcessList = am.getRunningAppProcesses(); if (appProcessList != null) { // NOTE: getRunningAppProcess() ONLY GIVE YOU THE PROCESS OF YOUR OWN PACKAGE IN ANDROID M // BUT THAT'S ENOUGH HERE for (ActivityManager.RunningAppProcessInfo ai : appProcessList) { if (ai.uid != android.os.Process.myUid()) { continue; } if (ai.processName.equals(context.getPackageName())) { continue; } android.os.Process.killProcess(ai.pid); } } }
protected int getFakeUid() { return Process.myUid(); }
/** * Try to raise the priority of {@param threadId} to {@param targetThreadPriority}. * * @return the original thread priority of the target thread. */ public static int tryRaiseThreadPriority(int threadId, int targetThreadPriority) { // Main thread is about to be blocked, raise the running thread priority. final int originalThreadPriority = Process.getThreadPriority(threadId); boolean success = false; while (!success && targetThreadPriority < originalThreadPriority) { // Keep trying to increase thread priority of running thread as long as it is an increase. try { Process.setThreadPriority(threadId, targetThreadPriority); success = true; } catch (SecurityException e) { /* From {@link Process#THREAD_PRIORITY_DISPLAY}, some applications can not change the thread priority to that of the main thread. This catches that potential error and tries to set a lower priority. */ targetThreadPriority += Process.THREAD_PRIORITY_LESS_FAVORABLE; } } return originalThreadPriority; } }
@Test public void setThreadPriorityOneArgument_setsCurrentThreadPriority() { android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO); assertThat(android.os.Process.getThreadPriority(android.os.Process.myTid())) .isEqualTo(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO); } }
@VisibleForTesting @Nullable LayoutState runAndGet() { if (runningThreadId.compareAndSet(-1, Process.myTid())) { futureTask.run(); LithoAffinityBooster booster = null; if (isMainThread() && !futureTask.isDone() && runningThreadId != Process.myTid()) { Process.setThreadPriority(runningThreadId, originalThreadPriority); } catch (IllegalArgumentException | SecurityException ignored) { } finally {
/** * Creates a user with the specified name, userId and flags. * * @param id the unique id of user * @param name name of the user * @param flags 16 bits for user type. See {@link UserInfo#flags} * @return a handle to the new user */ public UserHandle addUser(int id, String name, int flags) { UserHandle userHandle = id == UserHandle.USER_SYSTEM ? Process.myUserHandle() : new UserHandle(id); addUserProfile(userHandle); setSerialNumberForUser(userHandle, (long) id); userInfoMap.put(id, new UserInfo(id, name, flags)); userPidMap.put( id, id == UserHandle.USER_SYSTEM ? Process.myUid() : id * UserHandle.PER_USER_RANGE + ShadowProcess.getRandomApplicationUid()); return userHandle; }
@Implementation protected static final int getCallingPid() { if (callingPid != null) { return callingPid; } return android.os.Process.myPid(); }
public static void killTinkerPatchServiceProcess(Context context) { String serverProcessName = getTinkerPatchServiceName(context); if (serverProcessName == null) { return; } final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); // ActivityManager getRunningAppProcesses() List<ActivityManager.RunningAppProcessInfo> appProcessList = am .getRunningAppProcesses(); if (appProcessList == null) { return; } for (ActivityManager.RunningAppProcessInfo appProcess : appProcessList) { String processName = appProcess.processName; if (processName.equals(serverProcessName)) { android.os.Process.killProcess(appProcess.pid); } } }
@Implementation protected static final int getCallingUid() { if (callingUid != null) { return callingUid; } return android.os.Process.myUid(); }
@Test public void getThreadPriority_currentThread_returnsCurrentThreadPriority() { android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_AUDIO); assertThat(android.os.Process.getThreadPriority(/*tid=*/ 0)) .isEqualTo(android.os.Process.THREAD_PRIORITY_AUDIO); }
private void killProcessAndExit() { Process.killProcess(Process.myPid()); System.exit(10); } }
@Override public void onResume() { super.onResume(); Log.d(getClass().getSimpleName(), String.format("Process ID %d, Task ID %d", android.os.Process.myPid(), getTaskId())); } }