首先做个说明,本文的写作背景是在sdk 4.4的时代下,而我还在猥琐地使用4.0的教材学习Android开发,自然会有很多看起来比较古怪的东西,例如main.xml这种东西,现在已经一分为二,变为activity_main.xml和fragment_main.xml了,为了充分利用好我的过期教材,我在网上找了很多大牛的方法,并最终成功地将4.4改造为4.0,真诚感谢这些大牛们的智慧和分享精神。改造方法我会转在自己的博客上,防止自己失忆了以后也会觉得自己写的内容很奇怪。背景介绍完毕,下面入正题:
Android通过Intent(意图)实现对活动的调用,有如下几种调用方法:
(1)传递一个动作给Intent对象的构造函数来调用另一个活动:
startActivity(new Intent("xxx.xxx.OneActivity"));
动作"xxx.xxx.OneActivity"也称为组件名称,用来标识所要调用的目标活动/应用程序。这个动作要与androidManifest.xml中对应activity的action一致,也就是说,只有Intent中为"xxx.xxx.OneActivity",而androidManifest.xml中的action也为"xxx.xxx.OneActivity"的时候,才可以匹配上动作名,进而调用相关活动。"xxx.xxx.OneActivity"只是一个动作的名称,实际上,我们把动作名改为类似"something"这种样子也是可以实现调用,只要Intent中的动作与action中的动作可以匹配。习惯上,我们使用包名,这样有助于清晰的表述。
我们还可以通过传入一个动作常量和数据来创建一个Intent对象,如:
Intent i = new Intent(android.content.Intent.ACTIO