上一节介绍了如何通过intent显式调用活动。本小节介绍通过intent隐式调用活动的方法。
本小节修改上一节的程序代码,将显式调用改为隐式调用。
1、修改AndroidManifest.xml文件,将ActivityTwo的注册代码由下图1修改为下图2。
图1
图2
说明:
1)上图2代码,在ActivityTwo的注册代码中增加了的说明代码。通过在中设定action和category,说明活动ActivityTwo能够响应的action和category。
2)第27行代码,指定活动ActivityTwo能够响应的action。
3)第28~29行代码,指定活动ActivityTwo能够响应的category。其中”android.intent.category.DEFAULT”为默认category,隐式调用intent必须设定。另一个category”com.example.test.MY_CATEGORY”为自定义的category。2、修改ActivityOne.java中按钮的点击方法代码,如下图3所示。
图3
说明:
1)第24行代码,注销之前的intent的重构代码;
2)第25行代码,使用intent另一个构造函数,指定启动可以响应”com.example.test.ACTION_START”这个action的活动。
3)第26行代码,给intent增加一个category,指定启动的活动需要符合的category。
4)此处没有增加”android.intent.category.DEFAULT”,是因为该category为默认,在调用startActivity()方法时,会自动加上。
5)如上面这种,不直接明确指定调用哪一个活动,而是指定调用符合action和category等信息的活动的方式,就是隐式调用intent。3、启动程序,显示效果如下图4、图5所示。
图4
说明:点击按钮”I’m button”,程序调转到图5界面
图5
本文详细讲解了如何通过intent实现Android活动的隐式调用。首先,修改AndroidManifest.xml,为ActivityTwo设置action和category。然后,更新ActivityOne.java中按钮的点击事件,使用intent的构造函数指定action和category。隐式调用不需要直接指定目标活动,而是通过匹配action、category等信息来找到合适的活动进行调用。实践操作后,展示了点击按钮成功调转到目标活动的效果。
765

被折叠的 条评论
为什么被折叠?



