幸运的是,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);
我遇到了一些我认为需要一些后台管理的情况,因此想知道是否有一些基本策略可以做到这一点。
第一期
当相机返回时(通过用户在相机应用程序中按“完成”),并且控制权返回给我的应用程序,并且正在显示包含 viewpager 的视图,如果用户滚动寻呼机,程序会崩溃(闪烁并重新启动)相机关闭后过早(仍需要以受控方式复制并获取日志)。
第 2 期
如果我启动地图然后使用后退按钮返回到我的应用程序,它的当前视图似乎会在堆栈上重复。也就是说,在返回到我的应用程序后,如果我点击后退按钮,当前视图将被弹出(由“卡片幻灯片”动画确认”)并且同一视图的副本将在堆栈中的下一个(所以我基本上必须回击两次才能“走出”视野)。
我需要在我的应用程序中构建一些标准的 backstack 功能来解决这个问题吗?
注意:我已经在后台看到了超级深入的幻灯片(嗯,上半部分),当我挖掘它时会发布它的链接,所以我知道它的一般文档。
谢谢你。