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