Java Code Examples for android.app.ActivityManager#RunningTaskInfo
The following examples show how to use
android.app.ActivityManager#RunningTaskInfo .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PackageUtil.java From AndroidBase with Apache License 2.0 | 6 votes |
/** * 获取指定程序信息 */ public static ActivityManager.RunningTaskInfo getTopRunningTask(Context context) { try { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); // 得到当前正在运行的任务栈 List<ActivityManager.RunningTaskInfo> runningTasks = am.getRunningTasks(1); // 得到前台显示的任务栈 ActivityManager.RunningTaskInfo runningTaskInfo = runningTasks.get(0); return runningTaskInfo; } catch (Exception e) { e.printStackTrace(); } return null; }
Example 2
Source File: ActivityUtil.java From star-zone-android with Apache License 2.0 | 6 votes |
/** * 判断某个Activity 界面是否在前台 * @param context * @param className 某个界面名称 * @return */ public static boolean isForeground(Context context, String className) { if (context == null || TextUtils.isEmpty(className)) { return false; } ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = null; if (am != null) { list = am.getRunningTasks(1); } if (list != null && list.size() > 0) { ComponentName cpn = list.get(0).topActivity; if (className.equals(cpn.getClassName())) { return true; } } return false; }
Example 3
Source File: WatchfulService.java From Hangar with GNU General Public License v3.0 | 6 votes |
protected void buildBaseTasks() { // taskList is blank! Populating db from apps in memory. final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); final List<ActivityManager.RunningTaskInfo> recentTasks = activityManager.getRunningTasks(MAX_RUNNING_TASKS); if (recentTasks != null && recentTasks.size() > 0) { for (ActivityManager.RunningTaskInfo recentTask : recentTasks) { ComponentName task = recentTask.baseActivity; try { String taskClass = task.getClassName(); String taskPackage = task.getPackageName(); buildTaskInfo(taskClass, taskPackage); } catch (NullPointerException e) { } } } }
Example 4
Source File: SystemUtils.java From Ticket-Analysis with MIT License | 6 votes |
public static boolean isExitMainActivity(Context context, Class cls) { Intent intent = new Intent(context, cls); ComponentName cmpName = intent.resolveActivity(context.getPackageManager()); boolean flag = false; if (cmpName != null) { // 说明系统中存在这个activity ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> taskInfoList = am.getRunningTasks(10); for (ActivityManager.RunningTaskInfo taskInfo : taskInfoList) { if (taskInfo.baseActivity.equals(cmpName)) { // 说明它已经启动了 flag = true; break; //跳出循环,优化效率 } } } return flag; }
Example 5
Source File: WorkUtil.java From iMoney with Apache License 2.0 | 6 votes |
/** * 判断应用是否在运行 * * @param context * @return */ public static boolean isRun(Context context) { if (context == null) return false; Context appContext = context.getApplicationContext(); ActivityManager am = (ActivityManager) appContext.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100); boolean isAppRunning = false; String MY_PKG_NAME = context.getPackageName(); //100表示取的最大的任务数,info.topActivity表示当前正在运行的Activity,info.baseActivity表系统后台有此进程在运行 for (ActivityManager.RunningTaskInfo info : list) { if (info.topActivity.getPackageName().equals(MY_PKG_NAME) || info.baseActivity.getPackageName().equals(MY_PKG_NAME)) { isAppRunning = true; Log.i(TAG, info.topActivity.getPackageName() + " info.baseActivity.getPackageName()=" + info.baseActivity.getPackageName()); break; } } Log.i(TAG, "程序 isAppRunning......" + isAppRunning); return isAppRunning; }
Example 6
Source File: RunningTasksJellyBean.java From AcDisplay with GNU General Public License v2.0 | 5 votes |
/** * {@inheritDoc} */ @SuppressWarnings("deprecation") @Nullable public String getRunningTasksTop(@NonNull Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1); return tasks == null || tasks.isEmpty() ? null : tasks.get(0).topActivity.getPackageName(); }
Example 7
Source File: SystemUtils.java From q-municate-android with Apache License 2.0 | 5 votes |
public static String getNameActivityOnTopStack() { ActivityManager activityManager = (ActivityManager) App.getInstance().getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(Integer.MAX_VALUE); String ourPackageName = App.getInstance().getPackageName(); String topActivityName = null; if (runningTasks != null) { for (ActivityManager.RunningTaskInfo taskInfo : runningTasks) { if (taskInfo.topActivity.getPackageName().equalsIgnoreCase(ourPackageName)) { topActivityName = taskInfo.topActivity.getClassName(); } } } return topActivityName; }
Example 8
Source File: AppCompatDlalog.java From stynico with MIT License | 5 votes |
/** * 将当前应用运行到前台 */ private void bring2Front() { ActivityManager activtyManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTaskInfos = activtyManager.getRunningTasks(3); for (ActivityManager.RunningTaskInfo runningTaskInfo : runningTaskInfos) { if (this.getPackageName().equals(runningTaskInfo.topActivity.getPackageName())) { activtyManager.moveTaskToFront(runningTaskInfo.id, ActivityManager.MOVE_TASK_WITH_HOME); return; } } }
Example 9
Source File: AppUtil.java From NewFastFrame with Apache License 2.0 | 5 votes |
/** * 方法描述:判断某一应用是否正在运行 * Created by cafeting on 2017/2/4. * * @param context 上下文 * @param packageName 应用的包名 * @return true 表示正在运行,false 表示没有运行 */ public static boolean isAppRunning(Context context, String packageName) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100); if (list.size() <= 0) { return false; } for (ActivityManager.RunningTaskInfo info : list) { if (info.baseActivity.getPackageName().equals(packageName)) { return true; } } return false; }
Example 10
Source File: RunningStatus.java From pearl with Apache License 2.0 | 5 votes |
public void run(){ Looper.prepare(); while(true){ // Return a list of the tasks that are currently running, // with the most recent being first and older ones after in order. // Taken 1 inside getRunningTasks method means want to take only // top activity from stack and forgot the olders. List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1); String currentRunningActivityName = taskInfo.get(0).topActivity.getClassName(); if (currentRunningActivityName.equals("PACKAGE_NAME.ACTIVITY_NAME")) { // show your activity here on top of PACKAGE_NAME.ACTIVITY_NAME } } }
Example 11
Source File: ModLedControl.java From GravityBox with Apache License 2.0 | 5 votes |
@SuppressWarnings("deprecation") private static String getTopLevelPackageName(Context context) { try { final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); ComponentName cn = taskInfo.get(0).topActivity; return cn.getPackageName(); } catch (Throwable t) { log("Error getting top level package: " + t.getMessage()); return null; } }
Example 12
Source File: CommonUtils.java From SmartChart with Apache License 2.0 | 5 votes |
public static boolean isSingleActivity(Context var0) { ActivityManager var1 = (ActivityManager) var0.getSystemService("activity_message"); List var2 = null; try { var2 = var1.getRunningTasks(1); } catch (SecurityException var4) { var4.printStackTrace(); } return var2 != null && var2.size() >= 1 ? ((ActivityManager.RunningTaskInfo) var2.get(0)).numRunning == 1 : false; }
Example 13
Source File: ContextUtils.java From Neptune with Apache License 2.0 | 5 votes |
private static String getTopActivity(Context context) { ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1); if (runningTaskInfos != null) return runningTaskInfos.get(0).topActivity.getClassName(); else return null; }
Example 14
Source File: Tools.java From AndroidDemo with MIT License | 5 votes |
public static void printActivityStack(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); ActivityManager.RunningTaskInfo runningTaskInfo = am.getRunningTasks(1).get(0); String packageName = runningTaskInfo.topActivity.getPackageName(); String activityName = runningTaskInfo.topActivity.getClassName(); StringBuilder sb = new StringBuilder(); sb.append("package name: ").append(packageName) .append(" ,activity number: ").append(runningTaskInfo.numActivities) .append(" ,top activity: ").append(activityName); Log.i("zhou", sb.toString()); }
Example 15
Source File: AndroidUtil.java From ThinkMap with Apache License 2.0 | 5 votes |
/** * 检测当前App是否在前台运行 * * @param context * @return true 前台运行,false 后台运行 */ public static boolean isAppForeground(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(Integer.MAX_VALUE); // 正在运行的应用 ActivityManager.RunningTaskInfo foregroundTask = runningTasks.get(0); String packageName = foregroundTask.topActivity.getPackageName(); String myPackageName = context.getPackageName(); // 比较包名 return packageName.equals(myPackageName); }
Example 16
Source File: SchemeActivity.java From YCVideoPlayer with Apache License 2.0 | 5 votes |
/** * 判断app是否正在运行 * @param context 上下文 * @param packageName 应用的包名 * @return true 表示正在运行,false 表示没有运行 */ public boolean isAppRunning(Context context, String packageName) { ActivityManager am = (ActivityManager) context.getApplicationContext() .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100); if (list.size() <= 0) { return false; } for (ActivityManager.RunningTaskInfo info : list) { if (info.baseActivity.getPackageName().equals(packageName)) { return true; } } return false; }
Example 17
Source File: CommonUtils.java From BigApp_WordPress_Android with Apache License 2.0 | 5 votes |
public static String getTopActivity(Context context) { ActivityManager manager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1); if (runningTaskInfos != null) return runningTaskInfos.get(0).topActivity.getClassName(); else return ""; }
Example 18
Source File: TaskUtils.java From HelloActivityAndFragment with Apache License 2.0 | 5 votes |
public static String getCurrentTopActivityName(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //this method requires android.permission.GET_TASKS List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(2); //this method was deprecated in API level 21 ComponentName topActivity = runningTasks.get(0).topActivity; Log.i(LOG_TAG, "top Activity: " + topActivity.getShortClassName()); return topActivity.getShortClassName(); }
Example 19
Source File: AutoInputAction.java From XposedSmsCode with GNU General Public License v3.0 | 4 votes |
@SuppressWarnings("deprecation") private List<ActivityManager.RunningTaskInfo> getRunningTasks(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); return am == null ? null : am.getRunningTasks(10); }
Example 20
Source File: VirtualApkCheckUtil.java From EasyProtector with Apache License 2.0 | 2 votes |
/** * TopActivity的检查顶层task的思路 * https://github.com/109021017/android-TopActivity * TopActivity作为另一个进程(观察者的角度) * <p> * 能够正确识别多开软件的正确包名,类名 * 这也是为什么能知道使用多开分身app多开后的应用包名是随机的。 * 这里我只是提供调用方法,随时可能删掉。 */ public String checkByTopTask(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> rtis = am.getRunningTasks(1); return rtis.get(0).topActivity.getPackageName(); }