1.Intent有什么用?
Android设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent是一种消息传递机制,可以在程序内使用,也可以在程序间使用,主要用于启动“Activity”“Service”和“广播“某个事件已发生。
2.Intent的有几种类型?
Intent可以分为两种类型,一种是”显示意图“,另一种是”隐式意图“。
(1)什么是显示意图?
Intent具有明确目标的,通过Intent.setComponent(),Intent.setClassName(),Intent.setClass(),或new Intent(Activity1.this,B.class)等方法指明需要转向到的Activity。
例:
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
startActivity(intent);
这种明确指定了MainActivity的就是显式意图。
(2)什么是隐式意图?
对比显式意图应该知道,隐式意图是没有指定明确目标的Intent。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
例:
Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:188-8888"));
startActivity(intent);
这种没有明确指定目标的Intent就是隐式的,Android系统会通过数据,动作来启动拨号组件。
注意:
在使用隐式意图的时候,需要了解Intent Filter(意图过滤器)
常用的Intent