Intent
- Intent是android程序各组件之间进行交互的一种重要方式,一般用于启动活动,启动服务,以及发送广播等场景,intent一共分为两种,显式intent和隐式intent。
显式intent用法:Intent构造方法的重载:Intent(Context package Content,class<> cls>;
使用方法:创建intent实例->Intent intent=new intent(Mainactivity.this,secondActiviy,class);调用startActivity(intent)就可以启动活动。
隐式intent用法:不明确指出我们想要启动那一个活动,而是指定一系列更为抽象的action和category,然后由系统调用。
- 比如在标签里面,配置
<intent-filter>的内容
`
在标签里面,我们指明了当前活动可以响应
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.ACTION_START"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
android:name="android.intent.action.ACTION_START
这个action,而`category 里面更精确的指明了当前活动能够响应的Intent还可能带有的category,当我们使用Intent intent=new Intent(action),startActivity(intent),便可以启动活动,并且我们还可以通过intent.addCategory(),来更精确的启动活动,使用隐式intent后,必须同时匹配才能打开,不然就会出错。
- intent传递数据
- Intent传递给下个活动,intent提供一系列putExtra的方法,在前一个活动使用这个函数就可以通过intent传递到另外一个活动,在另外一个活动中,通过实例intent,调用getXXExtra();的方法就可以取出传递的数据。
- Intent返回数据给上一个活动
要想返回数据给上一个活动就是用StartActivityForResult(Intent,log);在下一个活动中用setResult(,intent);然后销毁活动就可以了,然后在返回的活动里面重写onActivityResult方法就可以得到数据了。