AndroLua学习(12)——Intent意图

一、什么是Intent
Intent(意图)主要是解决Android应用的各项组件之间的通讯。
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述.
Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。

因此,Intent在这里起着一个媒体中介的作用
专门提供组件互相调用的相关信息
实现调用者与被调用者之间的解耦。

例如,在一个联系人维护的应用中,当我们在一个联系人列表屏幕(假设对应的Activity为listActivity)上
点击某个联系人后,希望能够跳出此联系人的详细信息屏幕(假设对应的Activity为detailActivity)
为了实现这个目的,listActivity需要构造一个 Intent
这个Intent用于告诉系统,我们要做“查看”动作,此动作对应的查看对象是“某联系人”
然后调用startActivity (Intent intent),将构造的Intent传入

系统会根据此Intent中的描述到ManiFest中找到满足此Intent要求的Activity,系统会调用找到的 Activity,即为detailActivity,最终传入Intent,detailActivity则会根据此Intent中的描述,执行相应的操作。

二、Intent使用案例
1、调用浏览器搜索关键字
import “android.content.Intent”
import “android.app.SearchManager”
intent = Intent()
intent.setAction(Intent.ACTION_WEB_SEARCH)
intent.putExtra(SearchManager.QUERY,”Alua开发手册”)
activity.startActivity(intent)

2、调用浏览器打开网页
import “android.content.Intent”
import “android.net.Uri”
url=”http://www.androlua.cn”
viewIntent = Intent(“android.intent.action.VIEW”,Uri.parse(url))
activity.startActivity(viewIntent)