【问题标题】:Android Bring Task to FrontAndroid 将任务置于最前面
【发布时间】:2011-05-16 09:22:22
【问题描述】:

我有主要活动+服务。服务正在调用第二个活动。 - 如果 main 在前台,一切都很好。二是在main上面打开。 - 如果我通过“返回”按钮关闭主菜单,那么第二个会在桌面上方打开。这个很酷。 - 但是当我通过切换到桌面(按“主页”按钮)关闭主程序时,第二个活动会打开不可见,只有在切换到应用程序的任务时才能看到它。

如果应用程序在后台,你能帮我把任务移到前台吗? 我尝试将第二个活动作为新任务,但这没有帮助。

【问题讨论】:

    标签: android android-activity task foreground


    【解决方案1】:

    与此问题中提到的完全相同的问题。

    用下面的代码sn-p解决了。 i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);这会将活动带回到前面。

    Intent i=new Intent(ApplicationStatus.this,NotifyActivity.class);
                        //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//optional
                        i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//will cause it to come to foreground
                        i.putExtra("ID_TimeLeft",String.valueOf(TimeLeft));
                        startActivity(i);
    

    【讨论】:

      【解决方案2】:

      听起来很像我遇到的问题。看着: http://groups.google.com/group/android-developers/browse_thread/thread/183340108cb847fd

      您可以尝试设置任务的亲和性,例如:

      <activity android:name="activity_two" android:taskAffinity=""></activity>
      

      在您的 AndroidManifest.xml 中(同时让活动成为自己的任务,就像您提到的那样)。

      如果您不希望其他活动作为单独的任务显示在最近的历史记录列表中, 您还可以添加:

      android:excludeFromRecents="true"
      

      到清单中的活动。

      【讨论】:

        【解决方案3】:

        将您的任务中的顶级活动标记为单任务,而不是向此活动发送任何意图,以便所有任务都将被带到前台而不重新创建此活动

        【讨论】:

        • “singleTask”和“singleInstance”都对我不起作用……但是“singleTop”——成功了
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-07
        • 2011-02-06
        相关资源
        最近更新 更多