Java Code Examples for android.app.ActivityManager#AppTask
The following examples show how to use
android.app.ActivityManager#AppTask .
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: DocumentUtils.java From delion with Apache License 2.0 | 6 votes |
/** * Finishes tasks other than the one with the given ID that were started with the given data * in the Intent, removing those tasks from Recents and leaving a unique task with the data. * @param data Passed in as part of the Intent's data when starting the Activity. * @param canonicalTaskId ID of the task will be the only one left with the ID. * @return Intent of one of the tasks that were finished. */ public static Intent finishOtherTasksWithData(Uri data, int canonicalTaskId) { if (data == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return null; String dataString = data.toString(); Context context = ContextUtils.getApplicationContext(); ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.AppTask> tasksToFinish = new ArrayList<ActivityManager.AppTask>(); for (ActivityManager.AppTask task : manager.getAppTasks()) { RecentTaskInfo taskInfo = getTaskInfoFromTask(task); if (taskInfo == null) continue; int taskId = taskInfo.id; Intent baseIntent = taskInfo.baseIntent; String taskData = baseIntent == null ? null : taskInfo.baseIntent.getDataString(); if (TextUtils.equals(dataString, taskData) && (taskId == -1 || taskId != canonicalTaskId)) { tasksToFinish.add(task); } } return finishAndRemoveTasks(tasksToFinish); }
Example 2
Source File: SystemUtils.java From shinny-futures-android with GNU General Public License v3.0 | 6 votes |
/** * date: 2019/6/28 * author: chenli * description: 退出应用 */ public static void exitApp(Activity context){ ActivityManager activityManager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { List<ActivityManager.AppTask> taskInfoList = activityManager.getAppTasks(); for (ActivityManager.AppTask task : taskInfoList) { task.finishAndRemoveTask(); } }else context.finish(); new Handler().postDelayed(new Runnable() { @Override public void run() { System.exit(0); } }, 250); }
Example 3
Source File: DocumentUtils.java From 365browser with Apache License 2.0 | 6 votes |
/** * Finishes tasks other than the one with the given ID that were started with the given data * in the Intent, removing those tasks from Recents and leaving a unique task with the data. * @param data Passed in as part of the Intent's data when starting the Activity. * @param canonicalTaskId ID of the task will be the only one left with the ID. * @return Intent of one of the tasks that were finished. */ public static Intent finishOtherTasksWithData(Uri data, int canonicalTaskId) { if (data == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return null; String dataString = data.toString(); Context context = ContextUtils.getApplicationContext(); ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.AppTask> tasksToFinish = new ArrayList<ActivityManager.AppTask>(); for (ActivityManager.AppTask task : manager.getAppTasks()) { RecentTaskInfo taskInfo = getTaskInfoFromTask(task); if (taskInfo == null) continue; int taskId = taskInfo.id; Intent baseIntent = taskInfo.baseIntent; String taskData = baseIntent == null ? null : taskInfo.baseIntent.getDataString(); if (TextUtils.equals(dataString, taskData) && (taskId == -1 || taskId != canonicalTaskId)) { tasksToFinish.add(task); } } return finishAndRemoveTasks(tasksToFinish); }
Example 4
Source File: DocumentCentricAppsInstrumentationTest.java From android-DocumentCentricApps with Apache License 2.0 | 5 votes |
public void testNewDocument_CreatesOverviewEntry() { // Given a initialized Activity assertNotNull("mDocumentCentricActivity is null", mDocumentCentricActivity); final Button createNewDocumentButton = (Button) mDocumentCentricActivity .findViewById(R.id.new_document_button); assertNotNull(createNewDocumentButton); // When "Create new Document" Button is clicked TouchUtils.clickView(this, createNewDocumentButton); // Then a entry in overview app tasks is created. List<ActivityManager.AppTask> recentAppTasks = getRecentAppTasks(); assertEquals("# of recentAppTasks does not match", 2, recentAppTasks.size()); }
Example 5
Source File: ActivityDelegate.java From delion with Apache License 2.0 | 5 votes |
/** * Finishes all DocumentActivities that appear in Android's Recents. */ @TargetApi(Build.VERSION_CODES.LOLLIPOP) public void finishAllDocumentActivities() { Context context = ContextUtils.getApplicationContext(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) { Intent intent = DocumentUtils.getBaseIntentFromTask(task); if (isValidActivity(false, intent) || isValidActivity(true, intent)) { task.finishAndRemoveTask(); } } }
Example 6
Source File: ActivityDelegateImpl.java From AndroidChromium with Apache License 2.0 | 5 votes |
private ActivityManager.AppTask getTask(boolean isIncognito, int tabId) { Context context = ContextUtils.getApplicationContext(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) { Intent intent = DocumentUtils.getBaseIntentFromTask(task); int taskId = getTabIdFromIntent(intent); if (taskId == tabId && isValidActivity(isIncognito, intent)) return task; } return null; }
Example 7
Source File: ActivityDelegateImpl.java From delion with Apache License 2.0 | 5 votes |
@Override public boolean isIncognitoDocumentAccessibleToUser() { Context context = ContextUtils.getApplicationContext(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) { Intent intent = DocumentUtils.getBaseIntentFromTask(task); if (isValidActivity(true, intent)) return true; } return false; }
Example 8
Source File: DocumentUtils.java From delion with Apache License 2.0 | 5 votes |
private static Intent finishAndRemoveTasks(List<ActivityManager.AppTask> tasksToFinish) { Intent removedIntent = null; for (ActivityManager.AppTask task : tasksToFinish) { Log.d(TAG, "Removing task with duplicated data: " + task); removedIntent = getBaseIntentFromTask(task); task.finishAndRemoveTask(); } return removedIntent; }
Example 9
Source File: SetupPreferenceFragment.java From island with Apache License 2.0 | 5 votes |
private boolean startSetupActivityCleanly() { // Finish all tasks of Island first to avoid state inconsistency. final ActivityManager am = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE); if (am != null) { final List<ActivityManager.AppTask> tasks = am.getAppTasks(); if (tasks != null) for (final ActivityManager.AppTask task : tasks) task.finishAndRemoveTask(); } Activities.startActivity(getActivity(), new Intent(getActivity(), SetupActivity.class)); return true; }
Example 10
Source File: DocumentTabModelSelector.java From AndroidChromium with Apache License 2.0 | 5 votes |
private int getLargestTaskIdFromRecents() { int biggestId = Tab.INVALID_TAB_ID; Context context = ContextUtils.getApplicationContext(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) { RecentTaskInfo info = DocumentUtils.getTaskInfoFromTask(task); if (info == null) continue; biggestId = Math.max(biggestId, info.persistentId); } return biggestId; }
Example 11
Source File: ActivityDelegateImpl.java From 365browser with Apache License 2.0 | 5 votes |
@Override public boolean isIncognitoDocumentAccessibleToUser() { Context context = ContextUtils.getApplicationContext(); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) { Intent intent = DocumentUtils.getBaseIntentFromTask(task); if (isValidActivity(true, intent)) return true; } return false; }
Example 12
Source File: VisibilityLifeCycleCallback.java From focus-android with Mozilla Public License 2.0 | 5 votes |
private void finishAndRemoveTaskIfInBackground() { if (activitiesInStartedState == 0) { final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); if (activityManager == null) { return; } for (ActivityManager.AppTask task : activityManager.getAppTasks()) { task.finishAndRemoveTask(); } } }
Example 13
Source File: TabWebContentsDelegateAndroid.java From AndroidChromium with Apache License 2.0 | 5 votes |
/** If the API allows it, returns whether a Task still exists for the parent Activity. */ @TargetApi(Build.VERSION_CODES.LOLLIPOP) private boolean isParentInAndroidOverview() { ActivityManager activityManager = (ActivityManager) mTab.getApplicationContext() .getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) { Intent taskIntent = DocumentUtils.getBaseIntentFromTask(task); if (taskIntent != null && taskIntent.filterEquals(mTab.getParentIntent())) { return true; } } return false; }
Example 14
Source File: StreamActivity.java From Twire with GNU General Public License v3.0 | 5 votes |
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public void navToLauncherTask(@Nonnull Context appContext) { ActivityManager activityManager = (ActivityManager) appContext.getSystemService(Context.ACTIVITY_SERVICE); // iterate app tasks available and navigate to launcher task (browse task) final List<ActivityManager.AppTask> appTasks = activityManager.getAppTasks(); for (ActivityManager.AppTask task : appTasks) { final Intent baseIntent = task.getTaskInfo().baseIntent; final Set<String> categories = baseIntent.getCategories(); if (categories != null && categories.contains(Intent.CATEGORY_LAUNCHER)) { task.moveToFront(); return; } } }
Example 15
Source File: Utils.java From SAI with GNU General Public License v3.0 | 5 votes |
public static void hardRestartApp(Context c) { ActivityManager activityManager = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) task.finishAndRemoveTask(); Intent intent = c.getPackageManager().getLaunchIntentForPackage(c.getPackageName()); c.startActivity(intent); System.exit(0); }
Example 16
Source File: Utils.java From SAI with GNU General Public License v3.0 | 5 votes |
public static void softRestartApp(Context c) { ActivityManager activityManager = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.AppTask task : activityManager.getAppTasks()) task.finishAndRemoveTask(); Intent intent = c.getPackageManager().getLaunchIntentForPackage(c.getPackageName()); c.startActivity(intent); }
Example 17
Source File: ActivityStackCompat.java From Recovery with Apache License 2.0 | 5 votes |
public static String getBaseActivityName(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ActivityManager.AppTask appTask = getTopTaskAfterL(context); if (appTask == null) return null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { return appTask.getTaskInfo().baseActivity.getClassName(); } else { ComponentName componentName = RecoveryStore.getInstance().getBaseActivity(); return componentName == null ? null : componentName.getClassName(); } } else { ActivityManager.RunningTaskInfo taskInfo = getTopTaskBeforeL(context); if (taskInfo == null) return null; return taskInfo.baseActivity.getClassName(); } }
Example 18
Source File: DocumentCentricAppsInstrumentationTest.java From user-interface-samples with Apache License 2.0 | 5 votes |
public void testNewDocument_CreatesOverviewEntry() { // Given a initialized Activity assertNotNull("mDocumentCentricActivity is null", mDocumentCentricActivity); final Button createNewDocumentButton = (Button) mDocumentCentricActivity .findViewById(R.id.new_document_button); assertNotNull(createNewDocumentButton); // When "Create new Document" Button is clicked TouchUtils.clickView(this, createNewDocumentButton); // Then a entry in overview app tasks is created. List<ActivityManager.AppTask> recentAppTasks = getRecentAppTasks(); assertEquals("# of recentAppTasks does not match", 2, recentAppTasks.size()); }
Example 19
Source File: DocumentCentricAppsInstrumentationTest.java From android-DocumentCentricApps with Apache License 2.0 | 4 votes |
private List<ActivityManager.AppTask> getRecentAppTasks() { ActivityManager activityManager = (ActivityManager) getInstrumentation().getTargetContext() .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.AppTask> appTasks = activityManager.getAppTasks(); return appTasks; }
Example 20
Source File: DocumentCentricAppsInstrumentationTest.java From user-interface-samples with Apache License 2.0 | 4 votes |
private List<ActivityManager.AppTask> getRecentAppTasks() { ActivityManager activityManager = (ActivityManager) getInstrumentation().getTargetContext() .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.AppTask> appTasks = activityManager.getAppTasks(); return appTasks; }