Android:singleTask + onActivityResult

解决2个Activity互相跳转,并且栈中只保留每个Activity一个对象的存在。

在2个Activity中分别都要用到onActivityResult,所以就不能用launchMode="singleTask"。如:http://www.cnblogs.com/tt_mc/p/3586834.html

解决办法:

在Activity中onCreate中把该Activity加入一个集合中,然后在相互跳转之前,对要跳转的Activity在集合中进行过滤,如果有就finish掉就可以了。

1 public static void closeSingleActivity(Class act) {
2    for(Activity  act0 : mStackActList) {
3        if(act0 != null && act0.getClass() == act)
4          act0.finish();
5    }
6 }
时间: 2024-10-02 09:29:27

Android:singleTask + onActivityResult的相关文章

Android:onNewIntent()触发机制及注意事项

一.onNewIntent() 在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestroy  onNewIntent 1.其他应用发Intent,执行下列方法:onCreateonStartonResume 发Intent的方法: Uri uri = Uri.parse("philn://blog.163.com"); Intent it = new Intent(Inten

Android:图解四种启动模式 及 实际应用场景解说

在一个项目中会包括着多个Activity,系统中使用任务栈来存储创建的Activity实例,任务栈是一种"后进先出"的栈结构.举个栗子,若我们多次启动同一个Activity.系统会创建多个实例依次放入任务栈中.当按back键返回时,每按一次,一个Activity出栈,直到栈空为止.当栈中无不论什么Activity.系统就会回收此任务栈. 上面这个样例中的Activity并没有设置启动模式,你会发现多次启动同一个Activity.而系统却创建了多个实例,白白浪费内存,这样的情况Andro

Android:让WebView支持<input type=”file”…>元素

在Android中,当我们通过WebView打开一个页面时,如果里面有元素是<input type=”file”…>类型的,WebView只能正常的显示样式,但是是无法点击的.要解决这个问题,我们需要重写WebChromeClient. 下面直接给出Demo代码: Activity文件: public class MainActivity extends Activity { private final String host = "demo.com"; private f

Android:图解四种启动模式 及 实际应用场景讲解

在一个项目中会包含着多个Activity,系统中使用任务栈来存储创建的Activity实例,任务栈是一种"后进先出"的栈结构.举个栗子,若我们多次启动同一个Activity,系统会创建多个实例依次放入任务栈中,当按back键返回时,每按一次,一个Activity出栈,直到栈空为止,当栈中无任何Activity,系统就会回收此任务栈. 上面这个例子中的Activity并没有设置启动模式,你会发现多次启动同一个Activity,而系统却创建了多个实例,白白浪费内存,这种情况Android早

android:跳转,Intent,有无返回值

2014-08-17 <!-- 第一个页面 --> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop=&

Android:创建可穿戴应用 - 语音操作

添加语音处理能力(Adding Voice Capabilities) 语音操作是可穿戴用户体验的重要部分,可以让用户以快捷.免提的方式执行动作. Wear提供两种类型的语音操作: 系统提供(System-provided)这些语音操作是基于任务的,且内置于Wear平台.语音命令到达时,在你想启动的活动(Activity)中进行动作过滤.比如"记一下"(Take a note)或"提醒一下"(Set an alarm).应用提供(App-provided)这些语音操

Android:设置APP全屏、横屏、竖屏、常亮的方法

全屏 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏 横屏(两种) 1.修改Activity的onR

Android:调用系统图库/裁剪图片

开发中,调用系统图库和裁剪照片是很常见的需求.相对于自己实现这种功能,直接调用系统具有诸多优点,如不用考虑屏幕适配,不用担心性能问题,等等.因此,对于一般的需求,建议直接调用系统的功能,简便高效! 首先上效果图:            一.只调用系统图库(不裁剪),返回用户选择的图片.(只支持单选,如需多选则需要自己实现,参考另一篇博文:Android:仿QQ照片选择器(按相册分类显示,多选添加)) 1.跳转至系统图库页面: Intent i = new Intent(Intent.ACTION

Android:ViewPager扩展详解——带有导航的ViewPagerIndicator(附带图片缓存,异步加载图片)

大家都用过viewpager了, github上有对viewpager进行扩展,导航风格更加丰富,这个开源项目是ViewPagerIndicator,很好用,但是例子比较简单,实际用起来要进行很多扩展,比如在fragment里进行图片缓存和图片异步加载. 下面是ViewPagerIndicator源码运行后的效果,大家也都看过了,我多此一举截几张图: 下载源码请点击这里 ===========================================华丽的分割线==============