ActivityGroup相关--getLocalActivityManager()

本文详细介绍了Android中的ActivityGroup使用,通过getLocalActivityManager()获取LocalActivityManager来管理多个Activity。同时,文章探讨了如何在多Activity栈中优雅地退出程序,利用Intent.FLAG_ACTIVITY_CLEAR_TOP和Intent.FLAG_ACTIVITY_SINGLE_TOP标志,结合onNewIntent()方法,实现从D Activity直接退回到程序入口A Activity并关闭所有栈中活动,从而退出整个程序。
摘要由CSDN通过智能技术生成

ActivityGroup简介



1.ActivityGroup
的核心就是继承了该类,能够通过getLocalActivityManager()得到一个LocalActivityManager

,LocalActivityManager  am= this.getLocalActivityManager();

2.
然后通过LocalActivityManager通过startActivity(String id, Intent intent),可以与指定的Actiivty绑定,并且返回一个WindowLocalActivityManager可以同时管理多个Activity

Window window1 = am.startActivity("Module1", newIntent(TestView.this, ModuleView1.class));
Window window2 = am.startActivity("Module2", newIntent(TestView.this, ModuleView2.class));

3.
然后Window可以通过getDecorView()方法,返回一个View,然后通过与指定容器的addView(View)方法,实现不同的效果

View view1 = window1.getDecorView()
View view2 = window2.getDecorView()

实际中多用简写形式,,
containerScrollView的一个实例

[java]  view plain copy
  1. container.removeAllViews();     //移除其他所有子视图  
  2. container.addView(getLocalActivityManager().startActivity(  
  3.                        "Module2",  
  4.                        new Intent(TestView.this, ModuleView2.class)  
  5.                          .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)                                                     )  
  6.                        .getDecorView());  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值