Intent 是Android程序中各个组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的动作,还可以在不同组件中传递数据。我们一般可以用Intent启动活动(Activity)、启动服务(service)、以及发送广播(broadcastreceiver)等。
Intent用法大致分为两种,一种是显式Intent,一种是隐式Intent。
一、显式Intent
Intent有多个构造函数的重载,我们一般用Intent(Context packageContext,Class>cls)这个构造方法,其中接收的第一个参数Context要求提供一个启动活动的上下文,第二个参数Class指定想要启动的目标活动。Intent也叫意图,就是想要做什么地意思。比如在主活动中加入加入一个Button,通过点击Button来开启其他活动,我们可以这样做:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 传递意图,启动一个活动
Intent intent = new Intent(MainActivity.this, OtherActivity.class);
startActivity(intent);
}
});
那么如何启动服务呢?同样需要实例化一个服务(Service,稍后博客会有相关服务知识的介绍),然后可以在代码中这样写:
Intent intent = new Intent(MainActivity.this, DownLoadSer