千家信息网

如何进行Activity的启动与关闭

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,如何进行Activity的启动与关闭,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一:启动1:直接启动 (startActivity)◆
千家信息网最后更新 2026年11月04日如何进行Activity的启动与关闭

如何进行Activity的启动与关闭,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一:启动

1:直接启动 (startActivity)

◆首先声明Intent对象指定启动源及启动目标,然后让Intent对象作为startActivity方法的参数完成启动。

◆实现:

Intent i = new Intent(MainActivity.this,Act2.class);//启动源,启动目标startActivity(i);   //直接启动的方法

2:携值启动 (startActivity)

◆首先声明Intent对象指定启动源及启动目标,调用Intent对象的putExtra方法,以键值对的形式携带数据,然后让Intent对象作为startActivity方法的参数完成启动

◆实现:

(1)主Activity

Intent i = new Intent(启动源.this,启动目标.class);                i.putExtra("键的名称", "值");                startActivity(i);

(2)目标Activity

String val = getIntent().getStringExtra("键的名称");//取得传过来的值

3:带返回值的启动 (startActivityForResult)

在某些场景下,我们需要从A界面跳转携带数据到B界面,在B界面做一些处理后,在带着返回值回到A界面已完成相应操作,这是我们需要带返回值的启动。

◆具体过程如下:

(1)主Activity,创建Intent对象,指明启动源及启动目标

(2)主Activity,调用Intent对象的putExtra方法,以键值对的形式携带数据

(3)主Activity,调用startActivityForResult方法,参数有两个,第一个为Intent对象,第二个为requestCode,为int类型,为了判断是哪个界面触发的动作

(4)目标Activity,创建空的Intent对象,调用putExtra方法,以键值对的形式储存数据

(5)目标Activity,准备数据,此时只是准备数据,还没有传送,只有finish界面之后才触发启动。setResult方法,两个参数,第一个resultCode,标志是那个界面返回的结果,第二个参数Intent对象

(6)目标Activity,终止目标Activity,finish方法执行之后,出发了返回值启动

(7)主Activity,重写onActivityResult方法,通过对参数值的比较,来执行不同的操作

◆具体实现

(1)主Activity通过按钮实现返回值启动

public class MainActivity extends Activity {    private Button button;//声明按钮    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button = (Button) findViewById(R.id.button1);//根据id查找按钮        button.setOnClickListener(new OnClickListener() {//添加监听                                                                                                                                             @Override            public void onClick(View arg0) {                Intent i = new Intent(MainActivity.this,Act2.class);//定义Intent对象,指明源于目标                                                                                                                                                     startActivityForResult(i, 1);       //带返回值的启动方式                }        });    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        switch (requestCode) {//判断是那个界面返回的动作        case 1:            switch (resultCode) {//判断是哪个返回值            case 1:                System.out.println(data.getStringExtra("act2"));                break;            default:                System.out.println("resultCode值不匹配");                break;            }                                                                                                                                             break;        default:            System.out.println("requestCode值不匹配");            break;        }        super.onActivityResult(requestCode, resultCode, data);    }                                                                                                                         }

(2)目标Activity

public class Act2 extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.act2);        Intent i = new Intent();//空Intent对象        i.putExtra("act2", "我是act2");//储存数据        setResult(1, i);//准备数据        finish();//终止Activity                                                                                                                                                                                                                                              }}

◆结果:在控制台输出返回来的值

08-21 13:34:50.777: I/System.out(451): 我是act2

二:关闭

1:关闭自身(finish)

finish方法用来当Activity完成所有任务且需要关闭的情况时调用。这个方法一旦被执行,Activity将执行生命周期中的onDestory方法,因此我们可以把资源回收的操作放在onDestory里,调用finish方法,间接的调用onDestory方法,已达到关闭Activity的目的。

2:关闭其他Activity(finishActivity)

finishActivity用来根据参数requestCode的值来决定关闭哪个Activity。能被该方法关闭的Activity可以有多个,但是这些Activity必须由带返回值的启动方式。

看完上述内容,你们掌握如何进行Activity的启动与关闭的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

方法 对象 目标 数据 界面 参数 形式 按钮 准备 两个 内容 动作 名称 方式 更多 结果 问题 不同 束手无策 为此 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 有格互联网科技 广州为想互联网科技有限公司 工业互联网科技新基建 互联网中国科技 互联网与科技金融数据 西安互联网科技公司 互联网公司会议桌创意科技软装饰 佳云科技和互联网广告 重庆互联网医院沙龙医盟信息科技 洛阳昕诺飞互联网科技有限公司 青海科技产业互联网发展 中国互联网十大科技股排名 明优互联网科技有限公司 山东有哪些互联网科技公司 沐思想互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 平安好医生打造互联网科技医疗 宁波允成互联网科技有限公司 互联网高科技绘画 互联网和科技技术 奇酷互联网科技公司 壕鑫互联网络科技 厦门千工互联网科技有限公司 风投北京互联网科技 普陀区互联网教育科技管理办法 科技互联网公司两年变化 三亚科技创新互联网基地 青岛易易互联网科技 利用互联网等科技手段
0