Android四大组件之Activity

2017-07-28  本文已影响0人  Mr丶sorrow

组件的共同点

Intent和IntentFilter

Intent分类

相关Api简介

Activity之间数据传递

生命周期流程

推荐三篇博客:

总结:

Activity任务栈

Activity的启动模式

  1. standard: 标准模式,每次调用startActivity()方法就会产生一个新的实例。
  2. singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例;如果不位于栈顶,会产生一个新的实例。
  3. singleTask: 只有一个实例, 默认在当前Task中。
  4. singleInstance: 只有一个实例, 创建时会新建一个栈, 且此栈中不能有其它对象。

最后

当使用隐式意图时,可以添加category来区别相同的action,category也可以自定义,但是必须至少加上一个Android系统中定义的。

<activity android:name=".SecondActivity">
    <intent-filter>
        <action android:name="android.intent.action.OTHERACTIVITY"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="HAHA"/>
    </intent-filter>
</activity>
<activity android:name=".ThirdActivity">
    <intent-filter>
        <action android:name="android.intent.action.OTHERACTIVITY"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

在代码中,可以通过给Intent对象调用addCategory("xxx")方法添加条件便于更加明确。

Intent intent = new Intent("android.intent.action.OTHERACTIVITY");
intent.addCategory("HAHA");
startActivity(intent);
上一篇下一篇

猜你喜欢

热点阅读