1. 程式人生 > >開啟一個Activity, 關閉之前所有的Activity.

開啟一個Activity, 關閉之前所有的Activity.

方法一 : 

Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

方法二 :

public class CacheActivity {

    public static List<Activity> activityList = new LinkedList<Activity>();
    public 
CacheActivity() { } /** * 新增到Activity容器中 */ public static void addActivity(Activity activity) { if (!activityList.contains(activity)) { activityList.add(activity); } } /** * 便利所有Activigtyfinish */ public static void finishActivity() { for (Activity activity : activityList
) { activity.finish(); } activityList.clear(); } /** * 結束指定的Activity */ public static void finishSingleActivity(Activity activity) { if (activity != null) { if (activityList.contains(activity)) { activityList.remove(activity); } activity.finish();
activity = null; } } /** * 結束指定類名的Activity 在遍歷一個列表的時候不能執行刪除操作,所有我們先記住要刪除的物件,遍歷之後才去刪除。 */ public static void finishSingleActivityByClass(Class<?> cls) { Activity tempActivity = null; for (Activity activity : activityList) { if (activity.getClass().equals(cls)) { tempActivity = activity; } } finishSingleActivity(tempActivity); } }

在每次新開啟的Activity的 oncreat() 方法中呼叫 addActivity () 方法, 關閉所有Activity的時候呼叫 finishActivity() 即可.

相關推薦

開啟一個Activity, 關閉之前所有的Activity.

方法一 :  Intent intent = new Intent(this, LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW

如何隨時隨地退出Activity,在退出Activity的時候關閉之前Activity,如何退出程式所有Activity

這是一個基礎的問題,沒什麼難度,只是一個小的邏輯的問題的實現。為了以後有需要方便,儲存下來。新學習的同學可以參考下。 首先,在寫專案的時候一般我們會寫BaseActivity,這個類 繼承Activ

開啟一個新的activity關閉當前activity,以及intent的用法

Intent intent = new Intent();intent.setClass(Forward.this, ForwardTarget.class);//forward為當前activity,forwardTarget為新的activitystartActivi

[Android]關閉所有Activity 然後開啟某個Activity

private volatile long lastJump = 0; public void loginAgain(String message){ if(System.currentTimeMillis() - lastJump > 2000) {

啟動另一個App/apk中的Activity(A應用開啟B應用)

Android提供了在一個App中啟動另一個App中的Activity的能力,這使我們的程式很容易就可以呼叫其他程式的功能,從而就豐富了我們App的功能。比如在微信中傳送一個位置資訊,對方可以點選這個位置資訊啟動騰訊地圖並導航。這個場景在現實中作用很大,尤其是朋友在陌生的環境找不到對方時,這個功能簡

Android在開啟一個新的Activity瀏覽大圖時使用ImageView/PhotoView的時候圖片顯示在螢幕上部的問題

如題:昨天再做這個需求時,先在xml裡面放入的是一個ImageView來載入圖片,在載入完圖片時使用 PhotoViewAttacher attacher = new PhotoViewAttacher(ivBigImageView); 達到的效果是當點開瀏覽大圖的Activity頁面時圖片

如何獲取一個Android App APK的所有Activity類名?

$ adb logcat V/ActivityManager( 602): com.tencent.mm/.plugin.sns.ui.SnsTimeLineUI: task=TaskRecord{432b6e58 #3 A com.tencent.mm U 0} V/ActivityManager(

(轉)如何在廣播接收器中開啟一個新的Activity

原地址:http://blog.csdn.net/rually/article/details/47122937 在廣播接收器當中有Context 這個引數,說明是可以提供程式上下文環境引數的,但是如果我們直接用這樣的程式碼來開啟一個新的activity的話: publi

一鍵退出一個app中所有activity

這幾天在Android的開發過程中遇到了這麼樣一個問題,當App中擁有多個Activity時,如A,B,C三個。 在A->B後,若想在B中直接退出APP,呼叫System.exit(0)或者android.os.Process.killProcess(androi

android中Contex的使用例子(在一個普通類中用context去開開啟一個activity)

前提:A繼承Activity,B一個普通的類,且建構函式是這樣的 private Context ctx; public Purchase(Context c) { // TODO Auto-generated constructor stubthis.ctx = c; }

探究 | 如何捕獲一個Activity頁面上所有的點選行為

## 前言 最近逛`wanAndroid`論壇,發現一個有趣的問題:**如何捕獲一個Activity頁面上所有的點選行為**。 一起研究下吧,不想看原始碼的小夥伴可以直接看文末總結~ ## 準備工作 先得羅列出頁面上的一些點選行為,常用的有: * 普通View的點選 * 動態add的View的點選 *

Android完全退出App,關閉所有的Activity

這裡我們給出一種使用BroadcastReceiver來實現的方法。 首先我們寫一個基類CommonActivity繼承自Activity,然後在CommonActivity中加入一個BroadcastReceiver,用來接收退出App的廣播。 簡單實現如下:

啟動一個帶返回結果的activity

啟動一個帶返回結果的activity 有時候,你想要啟動一個activity,並從這個activty獲得一個結果。 這時,要通過 startActivityForResult() (取代startActivity()) 來啟動activity。 然後通過實現onActivityResul

開啟多個Activity以及多個Activity之間的引數傳遞

Strings.xml <?xmlversion="1.0"encoding="utf-8"?> <resources> <stringname="app_name

Android 監控應用中所有Activity 的生命週期

眾所周知,我們可以在Activity 裡面監控當前Activity 的生命週期,比如onResume() ,onCreate() 等等。如果想監控所有Activity 的生命週期呢?你可能會說那在BaseActivity 裡面去寫啊,用集合記錄。當然這能做到,可是有沒有更簡

Android--一鍵銷燬所有Activity,回到登入介面

使用使用ActivityManager這個類,在每個Activity 的OnCreate方法呼叫的時候,加進去: public class ActivityManager { private

Android 獲取所有Activity,這裡演示了使用者按兩次back鍵退出app

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit();

activity管理器一次退出所有activity

建立一個自己專案的Activity管理類(方法一 二均可用)記得點贊哦!謝謝 方法一public class ActivityManager { private static Stack<Activity> activityStack; private

如何退出當前所有activity,重新進入loginActivity介面

程式碼如下: Intent intent = new Intent(this, LoginActivity.class); ComponentName cn = intent.getComponen

使Activity關閉後不執行onDestroy()

重寫finish()方法:@Overridepublic void finish() {//super.finish();moveTaskToBack(true);//設定該activity永不過期,即不執行onDestroy()}  呼叫moveTaskToBack(tru