Android的singleInstance launchMode似乎可以为我的应用程序的主要任务执行我想要的操作,即每当我从左侧菜单栏导航回来时保持该Activity的状态。
问题是,在这个launchMode设置下,我发现大多数设备上的活动之间出现了可怕的黑色闪烁。谷歌搜索没有提出任何关于这是否正常或如何解决的问题。
我尝试过singleTask,但是这并不是我想要的,因为如果我从任务A - B - C转到A,则任务B从堆栈中移除,其状态必须再次重新加载当我开始那个活动时。
此外,这可能是缺乏对singleInstance的完全理解,但后退按钮不再适用于那些活动。我想要发生的是,当按下后退按钮时,任何singleInstance活动都会返回到主屏幕。
对此的任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
您是否尝试覆盖过渡动画?
以下是我用于此的一些代码:
public void goToNextScreen(View v) {
if (savedCueCardActivity == null) {
savedCueCardActivity = new Intent().setClass(this, CueCardActivity.class);
startActivity(savedCueCardActivity);
// lastActivity.finish();
} else {
savedCueCardActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(savedCueCardActivity);
}
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}