Intent 是一个消息传递对象,可以用来从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个:
启动 Activity
Activity 表示应用中的一个屏幕。
1)通过将 Intent 传递给 startActivity(),您可以启动新的 Activity 实例。Intent 用于描述要启动的 Activity,并携带任何必要的数据。
Intent i = new Intent();
startActivity(i);
2)调用 startActivityForResult()。在 Activity 完成后收到结果:在 Activity 的 onActivityResult() 回调中,Activity 将结果作为单独的 Intent 对象接收。
//需要返回响应信息
startActivityForResult(intent, this.LOGIN_REQUEST);
启动服务
Service 是一个不使用用户界面而在后台执行操作的组件。使用 Android 5.0(API 级别 21)及更高版本,可以启动包含 JobScheduler 的服务。
对于 Android 5.0(API 级别 21)之前的版本,可以使用 Service 类的方法来启动服务。
通过将 Intent 传递给 startService(),您可以启动服务执行一次性操作(例如,下载文件)。Intent 用于描述要启动的服务,并携带任何必要的数据。
如果服务旨在使用客户端-服务器接口,则通过将 Intent 传递给 bindService(),可以从其他组件绑定到此服务。
传递广播
广播是任何应用均可接收的消息。
系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播。通过将 Intent 传递给 sendBroadcast() 或 sendOrderedBroadcast(),可以将广播传递给其他应用。