首页 > 代码库 > Android中Intent的深入理解
Android中Intent的深入理解
Intent中文翻译过来是意图,但更合理的意思是消息传递器。
1.Intent在Android中到期是如何运行的呢?
作为 消息传递器,首先的具备 “装载”和 “卸载”消息的能力,在Android源代码中,Intent其实是用了普通消息包裹(Buddle)来装载数据。
代码来自android.content.Intent.class
public Intent putExtra(String name, CharSequence value) { if (mExtras == null) { mExtras = new Bundle(); //这是普通消息包裹 } mExtras.putCharSequence(name, value); return this;//这是一个不错的发现哦 } //添加额外数据,可以无限制是用 public Intent putExtra(String name, Bundle value) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putBundle(name, value); return this; } //这里是读取部分(卸载) public String getStringExtra(String name) { return mExtras == null ? null : mExtras.getString(name); }
这里只说明android的数据部分
2.Intent数据传递是需要方向的,方向是哪儿?
这里需要说明的是Intent的消息是广播出去的,所以说方向是整个系统。
3.Intent是如何找到指定的目标程序的呢?
可以说消息是发送出去了,但是为了找到适合的目标,需要进行一些列的检索,这些检索条件来自Action,Componet,setType,Catagory,PackageName
我们经常能看到,当我们发送一个Intent时,不一定只会有一个Activity或者BroadcastReceiver或者应用程序响应,所以这恰恰说明了Intent是一种被广播出去的消息。
4.总结
Intent 是一种消息传递器,课设置和获取消息
Intent 会被“广播给所有程序",进而筛选出适合条件的程序
Intent 是可以跨进程,跨应用传递的
Intent 携带有检索条件
Android中Intent的深入理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。