【问题标题】:android:launchMode singleInstance Questionsandroid:launchMode singleInstance 问题
【发布时间】:2013-03-16 01:51:04
【问题描述】:

Android 的 singleInstance launchMode 似乎可以为我的应用程序的主要任务执行我想要的操作,即每当我从左侧菜单栏导航回该 Activity 时保持该 Activity 的状态。

问题是,在设置了这个启动模式后,我在大多数设备上的活动之间看到了可怕的黑色闪烁。谷歌搜索没有发现这是否正常,或者如何解决。

我尝试了 singleTask,但这并没有完全达到我想要的效果,因为如果我从任务 A - B - C 转到 A,则任务 B 将从堆栈中删除,并且必须再次重新加载其状态当我开始那个活动时。

另外,这可能是对 singleInstance 缺乏完全理解,但后退按钮不再适用于这些活动。我想要发生的是,当按下后退按钮时,任何 singleInstance 活动都会返回到主屏幕。

对此的任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: android launchmode


    【解决方案1】:

    您是否尝试过覆盖过渡动画?

    这是我用于此目的的一些代码:

       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);
        }
    

    【讨论】:

    • 有没有办法保留一个单一任务的活动状态,如果我回到另一个单一任务活动,而不会将整个任务从堆栈中弹出?
    • 我不喜欢使用 singleTask 方法,而只是在我的 mainActivity 中保留对我的活动的引用。我只是喜欢控制。然后我只需在我保存的活动上调用 startActivity。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多