Intent是Android程序中各组件之间进行交互的主要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据,Intent一般可以被用于启动活动,启动服务以及发送广播等场景
Android的应用程序包含三个重要的组件:activity,service,broadcastReceiver,它们采用了一致的方式来启动,那就是Intent
而Intent大概可以分为两种,一种为显性,一种为隐性
button.setOnClickListener(new View.OnClickListener(){@Overridepublic void onclick(View v){Intent i=new Intent(FirstActivity.this,SecondActivity.class);startActivity(intent);}})
首先构建了一个Intent,传入FirstActivity.this作为上下文,传入SecondActivity.class作为目标活动最后通过statActivity来打开,这就是显式Intent
button.setOnClickListener(new View.OnClickListener(){@Overridepublic void onclick(View v){Intent i=new Intent("com.example.activitytest.ACTION_START");i.addCategory("com.example.activitytest.MY_CATEGORY");startActivity(intent);}})
相比于显示Inten,隐式更为含蓄和委婉,指定了一系列更为抽象的action和category等信息
同时在XML文件中也应加入category
在Intent 中只能有一个action,但是可以有多个category