eclipse
如图所示,MainActivity的布局如图1所示,用新建Activity向导新建一个名为MsgAtivity的活动,布局如图2所示。下面主要讨论如何在MainActivity通过点击信息按钮激活MsgAtivity的方法。
激活Ativity方法1:intent.setClass(MainActivity.this, MsgActivity.class)是设置要激活的组件是什么,这样调用startActivity(intent)时就知道要去激活哪个Activity了。
激活Ativity方法2:这个方法区别在用intent.setClassName(MainActivity.this, 'com.example.ativityexample.MsgActivity')来设置要激活的组件,你可以理解为'com.example.ativityexample.MsgActivity'经过方法处理后最终还是获得MsgActivity.class类。
激活Ativity方法3:这个方法区别也是在于用了intent.setComponent(new ComponentName(MainActivity.this, MsgActivity.class) )设置要激活的组件,这个方法可能更容易理解。上面这三种方法没有实质性上的区别,用哪个都可以。
激活Ativity方法4:这个方法不仅可以激活本应用的组件,也可以激活其他应用的组件。观察intent.setClassName('com.example.ativityexample', 'com.example.ativityexample.MsgActivity')就会发现它的形参包括包名。跨应用激活的前提是有要激活组件的权限或者要激活组件的权限没有设置。
程序运行:不同的方法我们都分别运行,只要点击信息按钮都可以激活另一个Activity。