Android activity launchMode与Intent.Flag关系

本文探讨了Android中Activity的launchMode和Intent.Flag如何共同决定任务栈的管理。launchMode定义了Activity自身的启动行为,而Intent.Flag影响被启动Activity的行为。通过示例说明了当BActivity启动WiFi设置时,如何通过设置Intent.FLAG_ACTIVITY_NEW_TASK避免WiFi设置界面出现在栈顶。同时推荐了几篇关于Activity、任务栈管理和调试方法的资源。
摘要由CSDN通过智能技术生成

         看了不少Android 方面的书籍,每每会介绍Activity也都会介绍launchMode,但是会把Intent.Flag和Activity分开讲,但是我觉得两者是必然联系而且是密不可分的关于task 栈的管理,看到launchMode和Intent.Flag这些你会不会有疑问这两个的区别是什么?希望这篇文章和示例能够解答你的问题。


       一言回答上面的问题,launchMode是规定你自己的Activity启动的行为模式,而Intent.Flag是你期望由你启动的其他的Activity是什么样的行为模式。


       一个例子,从桌面启动launchMode为SigleTask的应用A通过StartActivity()启动了launchMode为star大人的的B,而B需要网络配置,于是通过StartActivity启动了wifi设置(这里不使用Activity C, 是为了给您更直观的认识,C的行为怎样更合理),这时候的task栈是什么样的呢?如图1,你配置的网络连接成功了然后点home键,再从桌面点击A,栈如图2,再通过StartActivity启动B,如图3,你会发现并不希望的的wifi设置界面在最上面!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值