AI摘要

文章讨论了Android中连续点击按钮导致多次启动Activity的问题,并提供了解决方案。主要方法有两种:一是在AndroidManifest.xml中设置Target Activity的launchMode属性,推荐使用singleTop;二是在代码中对Intent进行设置,使用setFlags和addFlags来改变flag设置。
文章讨论了And

1. 在 AndroidManifest.xml 中设置 Target Activity 的属性,设置它的 launchMode

关于 launchMode 的参数一共有 4 个:  
Android代码 
android:launchMode=["multiple"| "singleTop" | "singleTask" | "singleInstance"]  

具体可以查一些 reference ,这里我要说的是 singleTop 和 singleTask ,你用这些参数之前一点要明白 task 是什么意思。在这里我只希望有一个 activity 在堆栈里,不要反复创建,调用它时直接从堆栈里面取出置顶,所以我用 singleTop  

2. 在代码里对 Intent 进行设置: 这我想说的是 setFlags 和 addFlags 之间的区别,如果 setFlags 是可以改变原来 flag 设置, addFlags 如果原先有类似设置就不能被加入了

Android代码:
Intent intent = new Intent();
intent.setClass(getApplicationContext(), TargetActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);



最后修改:2012 年 04 月 05 日
点赞的人是最酷的