在Android中要打开一个新的Activity, 不用说,肯定会用到Intent,Intent作为Android的四大组件之一,个人理解,Intent的作用就是用来在(其它三个不同组件)间进行通讯,通常打开一个Activity是采用
intent.setClass(ThisActivity.this,TargetActivity.class);也可以不使用上述方法,可以通过配置文件来打开下一个Activity首先把setClass方法改成 intent.setAction("com.accp.targetactivity");同时修改配置文件
Intent的Action,Category属性都是一个普通的字符串,其中Action代表该Intent所要完成的一个抽象”动作“,而Category则用于为Action增加额外的附加类别信息。通常Action属性会与Category属性结合使用。
到底程序会启动哪个Activity?取决于Activity配置中的元素的配置。<activity.../> 的<Intent-filter.../>子元素则用于配置Activity所能响应的Intent。
说道这里我们知道,我们自己所开发的工程会有一个主Activity,这个主Activity相当于C#中的main函数,是整个应用程序的入库,那么这个主Activity是如何启动的呢?是Intent吗?带着这个疑问我在网上找到了一些资料,其中罗升阳的博客中专门有对这个的介绍《》 这篇博文详细的介绍了应用程序是如何启动的,当然也有我的猜想,主Activity的确是由Intent启动的。
这篇博文也告诉我们,要深入了解一些东西,可以从源码入手,答案就在源码中。这算是一种解决问题的思路和方法。