使用意图创建的视图管理backstack(即相机,地图,......)

时间:2013-06-28 21:24:52

标签: android android-intent android-activity back-stack

幸运的是,backstack的默认行为不需要我为我的应用程序编写任何特殊情况处理它(虽然我确实想要删除第一个屏幕,这是启动,但我会弄明白的)。

然而,现在我正在启动相机并使用意图映射“传统”方式(作为单独的进程/活动,而不是新的片段/集成样式)通过

Intent intent = new Intent(Android.Content.Intent.ActionView, Uri.Parse(url));
intent.SetClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

StartActivityForResult(intent,(int)ActivityRequestCode.Map);

_imageFile = new File(_imageDir, String.Format("attachment_{0}.jpg", Guid.NewGuid()));

Intent intent = new Intent(MediaStore.ActionImageCapture);
intent.PutExtra(MediaStore.ExtraOutput, Uri.FromFile(_imageFile));

StartActivityForResult(intent, (int)ActivityRequestCode.Camera);

我遇到了一些我认为需要进行一些后端封装的情况,所以我很想知道 如果有一些基本的策略。

第1期

当相机返回时(通过用户在相机应用程序中按“完成”),并且控件返回到我的应用程序,并且正在显示包含viewpager的视图,如果用户,程序崩溃(闪烁并重新启动)在相机关闭后过快地滚动寻呼机(仍然需要以受控方式复制并获取日志)。

第2期

如果我启动地图然后使用后退按钮返回我的应用程序,它的当前视图似乎在堆栈上重复。也就是说,在返回我的应用程序后,如果我点击后退按钮,将弹出当前视图(通过“卡片幻灯片”动画“确认)并且该堆栈上的下一个相同视图的副本(所以我基​​本上必须回击两次才能“超出”视图。

我需要在我的应用程序中构建一些标准的backstack功能来解决这个问题吗?

注意:我已经看到了背板上的超级深度幻灯片(好吧,上半部分),并且在我挖掘它时会发布链接到它,所以我知道它的一般文档。

谢谢。

0 个答案:

没有答案