ActivityIntent进程通信和四种启动模式

任务

一个任务就是用户为了执行特定工作而与之交互的activity和Fragment的集合。内部存储使用堆栈的形式,这些activity会根据被打开的顺序被安放在一个栈(回退栈)中。

进程间通信Intent

七大属性

(1)componentName(2)Action (3)Categroy
(4)Data 存放Url.parse(类型名+值)
(5)Type(MIME type)
!!!注意单独设置data后设置type会使data失效,要配合intent.setActionAndType
使用
(6)flag 启动模式
(7)Extra 使用最多,存数据 Bundle 短信的键是sms_body

1.页面间跳转

Intent intent = new Intent(页面1,页面2)<==>
ComponentName componentName = new ComponentName(this,this.getClass());
intent.setComponent(componentName);

2.进程间跳转

Intent intent = new Intent(包名,包名.类名);//使用非主页面无效需要隐式意图
》》》》》非主页面还需要解决

========================================================
getTaskId 获取任务栈id

1.standard

标准模式,默认在回退栈顶部重新创建

2.singleTop

顶端有页面时,不重新创建Activity,只执行
onNewIntent方法

3.singleTask

在任务栈中只能存在一份,如果有多个页面,会弹出上面的Activity。
该启动方式一般作为主页面

4.singleInstance

跳转后开启新的回退栈,存放跳转后的页面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述 Activity 作为与用户交互的一个窗口,是使用非常频繁的一个基本组件。Android系统是通过Act...
    三也视界阅读 2,271评论 3 11
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,550评论 0 17
  • 看见别人对结果的控制,却投射了自己的愤怒!看回自己才发现,我一直对结果有控制欲!因为对结果的预设,我会害怕被拒绝,...
    竺子阅读 174评论 0 0
  • 会不会有一天 花开成海 阳光下有你微红的脸 会不会有一天 繁樱飞雪 你身边是无言的我 幻想着那一天的到来 我勇敢的...
    四方悠尘阅读 216评论 1 5