【问题标题】:How can I bring an activity to foreground如何将活动带到前台
【发布时间】:2015-12-13 01:09:28
【问题描述】:

如果我的活动正在后台线程中执行某项操作,而现在我想在前台显示该活动(因为有警报或要显示的重要内容),我该怎么做?

我见过这个response,但它创建了一个新活动。

我想向用户显示现有的活动,即使用户正在使用另一个应用程序或即使屏幕关闭(我知道我需要使用WakeLock)。

谢谢!

【问题讨论】:

  • 感谢 Rafael,但这似乎不起作用。也许是因为我从同一个活动开始活动? --- 是的,马克,但这是要求。这是一款显示重要警告的特殊安全应用。

标签: android android-activity screen


【解决方案1】:

我使用了here 中的第一个解决方案,但使用应用程序上下文启动了意图,就像它在here 中所做的那样,所以最终代码是:

protected void bringActivityToForeground() {

    Intent intent = new Intent(this, getClass());
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    getApplicationContext().startActivity(intent);
}

我将它添加到我的 BaseActivity 课程中。

如果你需要它,你也可以使用WakeLock来打开屏幕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多