日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android活动管理器,Android 中管理所有的 Acyivity 活动

發布時間:2024/9/19 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android活动管理器,Android 中管理所有的 Acyivity 活动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在 App 中,通常會打開很多個任務棧,如果我們要退出 App,要點擊返回鍵一步步的退出?有沒有更簡單的方法嗎?答案是有的,我們創建一個 Activity 管理器,來統一管理 Activity。

新建一個 ActivityCollectior 類自作為活動管理器:

public class ActivityCollector {

/**

* 創建一個集合保存

*/

public static List activities = new ArrayList<>();

/**

* 添加 Activity

* @param activity

*/

public static void addActivity(Activity activity){

activities.add(activity);

}

/**

* 移除 Activity

* @param activity

*/

public static void removeActivity(Activity activity){

activities.remove(activity);

}

/**

* 移除所有 Activity

*

*/

public static void finishAll(){

for (Activity activity:activities){

if (!activity.isFinishing()){

activity.finish();

}

}

activities.clear();

}

}

創建一個基類,BaseActivity,讓所有的 Activity 繼承它。

public class BaseActivity extends AppCompatActivity {

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//添加創建的 Activity

ActivityCollector.addActivity(this);

}

@Override

protected void onDestroy() {

super.onDestroy();

//移除創建的 Activity

ActivityCollector.removeActivity(this);

}

}

隨便一個 Activity 就可以退出 App,通過調用:

ActivityCollector.finishAll();

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_second2);

ButterKnife.bind(this);

init();

}

private void init() {

tvValue.setText("這是第三個頁面");

}

@OnClick({R.id.bt1, R.id.bt2})

public void onViewClicked(View view) {

switch (view.getId()) {

case R.id.bt1:

//退出App

ActivityCollector.finishAll();

break;

case R.id.bt2:

break;

default:

}

}

/**

* Activity頁面跳轉建議這樣寫

* @param secondActivity

*/

public static void launch(SecondActivity secondActivity) {

Intent intent = new Intent(secondActivity,ThirdActivity.class);

secondActivity.startActivity(intent);

}

}

launch()這樣寫的好處:

1.別的 Activity 可以一句話調用。

2.可以清晰的看到傳遞過來的參數,直接接受即可(重點)。

總結

以上是生活随笔為你收集整理的android活动管理器,Android 中管理所有的 Acyivity 活动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。