在四种应用组件中,活动,服务和广播这三种是被叫intent(目的,意图)的异步消息激活的。intent彼此绑定在运行时的单个组件,而不管这些组件是属于你的应用还是其它的应用。你可以认为intent就是,其它组件的的请求消息。
intent是被Intent对象创作的,Intent对象定义消息去激活一个或者一种组件的。intent可以是明确的,也可以是暗示的,独自的。
对于活动和服务,intent定义执行的动作(例如,去看或者发送)和可能指定执行的URI(统一资源定义)数据(可能其他的组件需要知道的)。例如,intent可能传送请求给一个活动去显示图片或者打开网页。在一些情况下,你可以启动活动去接收返回结果,在这种情况下,活动也会返回结果给Intent。例如,你可以发出intent去让用户选择一个联系人并让它返回给你,那么返回的intent包含一个选中的联系人的URI点。
对于广播接收器(broadcast receivers),intent简单地定义被广播的通知,例如,一个广播是要指明电池电量低只需包括一个已知的动作字段标识“batter is low”。
剩下的一种组件,内容提供者(content provider),他们不是被intent激活的。而是被,来自ContentResolver的请求定位后,激活的。Content resolver使用content provider处理所有的直接事务,以便执行事务的组件不需要对ContentResolver调用方法。这就在content provider和组件请求信息之间产生了一个抽象层,这是为了安全。
激活每种组件都有单独的方法:
- 你可以通过发送Intent给startActivity()或者startActivityForResult()(当你想接收活动的返回值),启动一个活动或者给它新东西做。
- 你可以通过发送Intent给startService(),来启动一项服务或者给正在运行的服务新的指令;或者你可以通过发送Intent给bindService()来绑定一个服务。
- 你可以通过发送一个Intent给像sendBroadcast(),sendOrderedBroadcast()或者sendStickyBroadcast(),来发起一个广播。
- 你可以通过在ContentResolver中调用query()来向content provider(内容提供者)执行查询。
更多信息关于怎么使用intents,参考Intents and Intent Filters文档。更多的信息关于激活特定的组件也被写在以下的文档: Acitivities,Services,BroadcastReceiver 和 Content Providers。
分享到:
相关推荐
##### 激活组件 - Activating Components - **Intent**:用于激活组件的主要机制。Intent是一个封装了启动请求的数据对象,可以用于启动Activity、Service或发送广播。 ##### 关闭组件 - Closing Components 组件...
激活组件 - Activating Components: Intent** - **Intent**: 用于在组件间传递信息或请求服务的一种机制。可以通过 Intent 来启动 Activity、Service 或发送广播。 - **关闭组件**: 当组件完成其任务后,可以调用...
4. **激活组件:Intent (Activating Components: Intent)** Intent是Android中的一种消息对象,用于启动另一个组件或传递数据。它可以是显式的,指定确切的组件来启动,也可以是隐式的,让系统根据Intent的过滤器...
- **关键类 (Key Classes)**:Android应用程序由多个类组成,包括`Activity`(活动)、`Service`(服务)、`BroadcastReceiver`(广播接收器)、`ContentProvider`(内容提供者)等,它们构成了Android应用程序的...
- **激活组件(Activating Components):** 通过Intent来启动Activity、Service和BroadcastReceiver。 - **关闭组件(Closing Components):** 当组件完成其任务后,可以通过适当的方法关闭它们。 - **manifest文件:*...
- **进程**:Android中的每个应用程序默认运行在一个独立的Linux进程中。 - **线程**:在进程中执行的任务,主线程负责处理UI事件。 - **远程过程调用**:允许不同进程之间的组件相互通信。 - **线程安全方法**:...
Android Lint Plugin Contributions are welcome. Join the effort ! Description ...Tune the SonarQube quality profile by activating the Android Lint rules on which you'd like to see some issues r
#### 激活组件 - Activating Components - **Intent**:用于启动 Activity 或 Service,通过 Intent 对象指定目标组件及附加数据。 - **Intent 过滤器**:在 AndroidManifest.xml 文件中定义,用来描述 Intent 的...
#### 三、激活组件:Intent (Activating Components: Intent) Intent 是 Android 中用于激活组件的重要机制。通过 Intent,可以启动 Activity、Service 或者发送广播。Intent 可以携带额外的数据,如字符串、布尔值...
**激活组件 - Activating Components** - 使用`Intent`来激活特定的组件。例如,可以使用Intent启动一个新的Activity、服务或发送广播。 **关闭组件 - Shutting Down Components** - 组件可以由其自身或其他组件...
- **2.2.3.1 Gateway系统:激活SAP NetWeaver Gateway** (Gateway System: Activating SAP NetWeaver Gateway) - **2.2.3.2 Gateway系统:在NetWeaver Gateway中创建信任的RFC到SAP Business Suite** (Gateway ...
Are you an Android developer with some experience under your belt? Are you wondering how the experts create efficient and good-looking apps? Then your wait will end with this book! We will teach you ...