Android学习笔记——使用Intent进行Activity跳转的4种方法

1.显式意图

显式意图必须要知道被激活组件的包和class

如下图所示,对MainActivity进行一些改造

activity旋转重建 android activity跳转方法_xml文件


对activity_main.xml文件进行改造,如下图所示

activity旋转重建 android activity跳转方法_隐式意图_02


activity旋转重建 android activity跳转方法_显式_03


运行结果如下图所示

activity旋转重建 android activity跳转方法_隐式意图_04


可以在Log种发现有以上设定好的记录,其中我们把传递的信息通过putExtra方法传递

2.隐式意图

有显式意图,那么当然就有隐式意图了,隐式意图可以不知道被激活组件的包和class,只需通过指定action就可以进行跳转,当然,被激活的组件必须是在AndroidManifest.xml文件中注册的,注册方式如下

activity旋转重建 android activity跳转方法_xml文件_05

重点是action和categroy这两行,而action android:name可以根据自己的需要来进行设置

除此之外,只需要将toSecondary.setClass修改为tosecondary.setAction(“XXX”)

activity旋转重建 android activity跳转方法_xml文件_06

隐式意图的特点:

  • 可以更好的让代码解耦,使不同模块之间的耦合度降低
  • 如果一个Activity想要启动另一个应用的Activity就只能使用隐式意图。

带回调方法的意图

使用范围:在MainActivity中的控件启动SecondaryActivity,并且当SecondaryActivity结束时需要返回给MainActivity一个执行结果,要实现上述功能,只需三步

第一步:在MainActivity中实现SecondaryActivity发送带请求码的意图

activity旋转重建 android activity跳转方法_Android_07


activity旋转重建 android activity跳转方法_显式_08

第二步:在SecondaryActivity中接收toSecondary_request,并向意图中填充要返回给MainActivity的内=内容,最后还需要设置一个返回码。

activity旋转重建 android activity跳转方法_Android_09


activity旋转重建 android activity跳转方法_显式_10

在activity_login.xml文件中添加button按钮

activity旋转重建 android activity跳转方法_Android_11


第三步 结束SecondaryActivity时将返回到MainActivity界面,此时,MainActivity的onActivityresult()方法将被回调。

activity旋转重建 android activity跳转方法_显式_12


结果

activity旋转重建 android activity跳转方法_Android_13


在SecondaryActivity界面中设置意图内容,并返回给MainActivity,而onActivityResult方法获取这个返回的结果,并在日志中打印出TY字样!

跳转中对象参数的传递

在Android中,有时多个Acticity之间需要进行对象的传递,使用Intent也可以完成这一功能。

这个比较简单,直接上图

activity旋转重建 android activity跳转方法_显式_14

activity旋转重建 android activity跳转方法_xml文件_15


activity旋转重建 android activity跳转方法_xml文件_16

activity旋转重建 android activity跳转方法_显式_17