前言
Android 进程间通信的方式之一就是使用Intent进行,本文详细介绍如何使用Intent的方式进行进程间通信
效果图
代码
发送端
1 | val intent = Intent() |
接受端
1 | //Intent 方式获取 |
优缺点
可以看出,这种方式和普通的跳转Activity几乎一样,使用起来非常方便,无需其他的配置,就可以完整简单的数据传输。缺点也很明显,只能传输序列化的对象,或者简单的数据类型。对于这种进程间通信的方式,适用的场景,例如分享链接等一些简单的事情
补充
操作系统中需要有设置的Activity和进程
如果找不到设置的Activity,程序会出现错误。
1 | android.content.ActivityNotFoundException: Unable to find explicit activity class {com.allens.intent/com.starot.lib_intent.SecondIntentAct}; have you declared this activity in your AndroidManifest.xml? |
任务栈关系
进程A通过Intent启动了进程B,B会被放置在A的栈上,而不会重新起一个任务栈
当点击跳转以后,会发现启动了进程B被拉起
但是打开系统的任务栏,会发现,只有一个任务栈,不会出现两个任务栈,
