我是靠谱客的博主 甜蜜花卷,最近开发中收集的这篇文章主要介绍Activity之间的跳转及销毁所有Activity的正确姿势 一、结束当前Activity的方法有4种: //方法1 finish(); 12 //方法2 System.exit(0); 12 //方法3 android.os.Process.killProcess(android.os.Process.myPid()); 12 //方法4 this.onDestory(); 12 二、通过Intent跳转Activity  1、假设目前已经启动了3个Activity,分别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、结束当前Activity的方法有4种:

//方法1
finish();
  
  
  • 1
  • 2
//方法2
System.exit(0);
  
  
  • 1
  • 2
//方法3
android.os.Process.killProcess(android.os.Process.myPid());
  
  
  • 1
  • 2
//方法4
this.onDestory();
  
  
  • 1
  • 2

二、通过Intent跳转Activity 
1、假设目前已经启动了3个Activity,分别叫做FirstActivity,SecondActivity,ThirdActivity,现在想在ThirdActivity中跳转至FirstActivity,即再启动一个FirstActivity,但不是变成1,2,3,1,而是变成1,即销毁掉中间所有的activity,同时要求保留FirstActivity上的数据。

Intent intent = new Intent(this,FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//关掉所要到的界面中间的activity
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);//设置不要刷新将要跳转的界面
startActivity(intent);
  
  
  • 1
  • 2
  • 3
  • 4

2、与1类似,假设目前已经启动了3个Activity,分别叫做FirstActivity,SecondActivity,ThirdActivity,现在想在ThirdActivity中跳转至FirstActivity,即再启动一个FirstActivity,但不是变成1,2,3,1,而是变成1,即销毁掉中间所有的activity,这里要求不保留FirstActivity上的数据。

 Intent intent = new Intent(this,FirstActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//关掉所要到的界面中间的activity

startActivity(intent);
  
  
  • 1
  • 2
  • 3
  • 4

3、假设目前已经启动了3个Activity,分别叫做FirstActivity,SecondActivity,ThirdActivity,现在想在ThirdActivity中跳转至FirstActivity,即再启动一个FirstActivity,但不是变成1,2,3,1,而是变成2,3,1。

Intent intent = new Intent(this,FirstActivity.class);             intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
                startActivity(intent);
  
  
  • 1
  • 2

三、退出程序时,一次性关闭所有Activity界面。 
封装一个类来对所有的Activity进行操作。

/**
 * Activity的启动和销毁
 * Created by xkc on 12/11/15.
 */
public class SysApplication extends Application {
    private List<Activity> mList = new ArrayList<>();
    private static SysApplication instance;
    private SysApplication(){}
    public static synchronized SysApplication getInstance(){
        if (null == instance){
            instance = new SysApplication();
        }
        return instance;
    }

    //将启动的进程添加进入list中
    public void addActivity(Activity activity){
        mList.add(activity);
    }

    //将list中的activity全部销毁
    public void exit(){
        for(Activity activity:mList){
            if (activity != null){
                activity.finish();
            }
        }
    }


    //杀进程
    @Override
    public void onLowMemory() {
        super.onLowMemory();
    }
}
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

在每个Activity的onCreate()方法中添加一行代码,即将该Activity添加进启动的Activity列表中:

 SysApplication.getInstance().addActivity(this);
  
  
  • 1

在程序退出操作处,写一行代码:

SysApplication.getInstance().exit();
http://blog.csdn.net/xkc_0706/article/details/50267765

最后

以上就是甜蜜花卷为你收集整理的Activity之间的跳转及销毁所有Activity的正确姿势 一、结束当前Activity的方法有4种: //方法1 finish(); 12 //方法2 System.exit(0); 12 //方法3 android.os.Process.killProcess(android.os.Process.myPid()); 12 //方法4 this.onDestory(); 12 二、通过Intent跳转Activity  1、假设目前已经启动了3个Activity,分别的全部内容,希望文章能够帮你解决Activity之间的跳转及销毁所有Activity的正确姿势 一、结束当前Activity的方法有4种: //方法1 finish(); 12 //方法2 System.exit(0); 12 //方法3 android.os.Process.killProcess(android.os.Process.myPid()); 12 //方法4 this.onDestory(); 12 二、通过Intent跳转Activity  1、假设目前已经启动了3个Activity,分别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部