本文转载自夏倩倩的博客:Intent介绍及Intent在Activity中的使用方法:http://blog.csdn.net/chun0801/article/details/51958273,感谢原创作者!
以前都没有总结过intent常用场景,转载过来,以备后续使用!
1.Intent的实现过程
在Android中,Intent不仅可用于应用程序之间的交互,也可用于应用程序内部的Activity/Service之间的交互。
Intent负责对应用中一次操作进行描述,描述内容包括动作以及动作所涉及的数据,Android中的Intent机制则根据此描述,找到对应的组件,将Intent传递给该被调用组件,完成对组件的一次调用。
这便是Intent的实现过程,可见,在Intent中提供了组件互相调用的相关信息,实现了调用者与被调用者之间的解耦。
2.Intent的应用场合
归纳起来,Intent的应用场合主要有以下三种:
2.1启动一个Activity
(1)Activity.startActivity(Intent intent); //启动一个Activity
(2)Activity.startActivityForResult(Intent intent, int requestCode); //启动一个带请求码的Activity,当该Activity结束时将回调原Activity的onActivityResult()方法,并返回一个结果码。
2.2启动一个Service
(1)Context.startService(Intent service);
(2)Context.bindService(Intent service, ServiceConnection conn, int flags);
2.3启动一个Broadcast
(1)sendBroadcast(Intent intent);
sendBroadcastAsUser(Intent intent, UserHandle user);
(2)sendStickyBroadcast(Intent intent);
sendStickyBroadcastAsUser(Intent intent, UserHandle user);
(3)sendOrderedBroadcast(Intent intent, String receiverPermission);
sendOrderedBroadcastAsUser(Intent intent, UserHandle user, String receiverPermission,
BroadcastReceiver resultReceiver,Handler scheduler, int initialCode, String initialData, Bundle initialExtras);