Intents and Intent Filters --2.1

Intent 是一个消息对象,你可以通过它向其他应用程序传递 Action 。尽管 Intent 有很多方法可以帮助应用组件通信,但是基础用法只有下面的几种:

1.To start an activity:

在应用程序中,一个 Activity 代表了一个界面(UI)。你可以通过向 startActivity() 函数传递 Intent 启动一个 Activity。这个被传递的 Intent 带有目标 Activity 的信息和目标 Activity 需要用的数据。

如果你想在目标 Activity 结束的时候接受到从目标 Activity 返回的数据,那么你可以调用 startActivityForResult() 函数启动 Activity。这样之后,当目标 Activity 结束时,你的 Activity 就会在 onActivityResult() 函数中接受到来自目标 Activity 的 Intent 对象。

2.To start a service:

Service 是一个在后台执行操作的应用组件。你可以通过向 startService() 函数中传递 Intent 启动 Service 执行 one-time(一次性) 操作。这个被传递的 Intent 带有目标 Service 的信息和目标 Service 需要用的数据。

如果你想以 client-server 的形式启动 Service,那么你可以通过向 bindService() 函数传递 Intent 实现来实现,这样之后,其他组件就可以绑定到这个 Service 了。

3.To deliver a broadcast:

广播是一个任何应用程序都可以接收的消息对象。Android 系统将为系统事件发送各种广播,例如当系统启动完成,或者设备开始充电。你可以通过向 sendBroadcast()、 sendOrderedBroadcast()、 或者 sendStickyBroadcast() 传递Intent 对象来发送一个广播到其他应用程序。

1.Intent Types

有两种类型的 Intent :

1.Explicit intents

显式意图通过限定名指定了目标组件。通常情况下,如果在你自己的应用程序里面,你可以利用显式意图启动组件,因为你知道目标组件的名称。例如:为了响应用户的某个操作启动一个新的 Activity 或者启动一个 Service 在后台下载文件。

2.Implicit intents

隐式意图并不指定目标组件的名称,取而代之的是:它声明一个需要执行的 action,这个 action 允许其他应用程序处理。例如:如果你的应用程序想要在地图里面展示当前位置,你可以通过隐式意图发送一个请求,然后设备上的任何一个可以展示地图的应用程序都回响应这个隐式意图。

准备吃饭啦,晚上再接着写吧,下午还要打球呢~

你可能感兴趣的:(基础,intent,广播,filters)