Intent对于Android应用的作用
Intent,翻译过来是“意图”,它是对Android应用程序“意图”的封装。例如ActivityA想启动ActivityB,那么“想启动ActivityB”就是ActivityA的意图;ActivityA想启动ServiceA,“想启动ServiceA”就是ActivityA的意图。
至于Android为什么不直接提供一个类似startActivity(Class activityClass)的方法来移动一个Activity,是因为这样做会背离Android的设计理念,造成一种硬编码耦合,不利于高层次的解耦。而Intent提供的编程模型,可以让应用程序只启动具有某种特征额组件,不会造成组件(Activity、Service、ContentProvider)之间的耦合。
Intent不仅可以封装应用程序需要启动某个组件的“意图”,还可以作为应用组件之间通信的重要媒介。例如两个Activity之间可以通过Bundle对象交换数据,而Intent刚好可以携带Bundle对象。