特点
多个入口, 消息框和桌面图标
适应设备
华为,小米,有摄像头,无摄像头
activity--主要是交互的入口,在不同应用事件中调用-交流
Activity,您可以向 `startActivity()` (无返回结果)或 `startActivityForResult()`(让 Activity 返回结果时)传递 `Intent`,或者为其安排新任务
服务--后台运行功能
不占用用户界面,不会影响目前在用的activity,后台服务主要是服务组件的作用,注意。动态壁纸、通知侦听器、屏幕保护程序、输入方法、无障碍功能服务-- 客户端-服务器接口,则通过将Intent传递给bindService(),您可以从其他组件绑定到此服务
在 Android 5.0(API 级别 21)及更高版本中,您可以使用 `JobScheduler` 类来调度操作。
早期 Android 版本,您可以通过向 `startService()` 传递 `Intent` 来启动服务(或对执行中的服务下达新指令)。您也可通过向将 `bindService()` 传递 `Intent` 来绑定到该服务。
对于 Activity 和服务,Intent 会定义要执行的操作(例如,查看或发送某内容),并且可指定待操作数据的 URI,以及正在启动的组件可能需要了解的信息。
可以发出一个 Intent,让用户选取某位联系人并将其返回。返回 Intent 包含指向所选联系人的 URI。
广播接受器(BroadcastReceiver)--通知屏幕已关闭、电池电量不足或已拍摄照片的广播。应用也可发起广播,例如,通知其他应用某些数据已下载至设备,并且可供其使用
广播接收器不会显示界面,但其可以[创建状态栏通知],在发生广播事件时提醒用户。但广播接收器更常见的用途只是作为通向其他组件的通道,旨在执行极少量的工作
您可以通过向 `sendBroadcast()`、`sendOrderedBroadcast()` 或 `sendStickyBroadcast()` 等方法传递 `Intent` 来发起广播
对于广播接收器,Intent 只会定义待广播的通知。例如,指示设备电池电量不足的广播只包含指示 “电池电量不足” 的已知操作字符串。
内容提供程序-->管理一组共享的应用数据,您可以将这些数据存储在文件系统、SQLite 数据库、网络中或者您的应用可访问的任何其他持久化存储位置
剪贴板上的数据给剪贴一次之后,还询问是否给其他应用剪贴
内容提供程序并非由 Intent 启动
在 ContentResolver 上调用 query(),对内容提供程序执行查询
内容解析程序会通过内容提供程序处理所有直接事务,因此通过提供程序执行事务的组件便无需执行事务,而是改为在 ContentResolver 对象上调用方法。
Android 系统设计的独特之处在于,任何应用都可启动其他应用的组件
今天使用activity作为交互通知事件,进行学习。
其中 activity,服务,广播接收器都可以通过异步消息(Inten)进行启动,Inten生成时便与相应的组件绑定,不受时间的影响,到达时验证绑定的组件消息。(信使)
Inten创建时通过定义消息来启动特定组件(显式intent)
启动特定组件类型(隐式)
Inten启动activity,服务,广播接收器