Intent
Intent 是 Android 各组件间进行交互的一种重要方式,他不仅可以指明当前组件的动作,还可以在不同组件间传递数据。Intent 一般可以用于启动活动、启动服务及发送广播等场景。
Intent 大致可以分为两种:
-
显示 Intent
intent 有多个函数的重载,其中一个是 Intent(Context packageContext, Class<?>)。这个方法接受两个参数,第一个接受一个 Context 上下文环境,第二个参数是你要启动的活动类名。最后调用 startActivity(intent) 启动。由于这个方法意图非常明显所以是显示 Intent。
例子:
新建一个 IntentTest 项目,MainActivity 默认创建为主活动,再创建第二个活动SecondActivity。修改activity_main.xml,添加一个Button 用于启动第二个活动。
-
隐式 Intent
隐式 Intent 并不明确指出我们要启动的活动,而是配置了一系列更为抽象的 action 和 category,然后交由系统分析这个 Intent,并帮助我们找出合适的活动启动它。这里再建第三个activity -ThirdActivity,让 ThirdActivity 响应隐式 intent。修改 AndroidManifest.xml 中注册的ThirdActivity -
更多隐式 Intent 用法
隐式 Intent 不仅可以启动自身程序内的活动,还可以启动其他程序的活动。例如浏览一个网页,你没必要自己写一个浏览器只需要调用系统的浏览器来打开就可以了。修改 MainActivity