假设用户已启动我的应用程序,然后关闭以使用浏览器(因此我们运行了2组任务)。过了一会儿,我的应用程序发生了一些需要用户注意的事情,因此会发布通知以通知用户。当用户点击我的通知时,有没有办法将我的应用程序任务(以及活动在堆栈顶部)从后台运出?
答案 0 :(得分:1)
在您的通知中,您调用了启动应用程序的意图,如果您确保它具有以下标志,那么它将被带到前面而不是创建另一个实例:
Intent contentIntent = new Intent(this, ABC.class);
contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | INTENT.FLAG_ACTIVITY_SINGLE_TOP);
答案 1 :(得分:1)
通知通常附带PendingIntent(Notification.contentIntent
)。将此意图设置为您的应用以启动应用的活动。
当前只有一个活动处于活动状态 - 只要切换到其他屏幕,系统就会暂停您的活动(onPause,很可能是onDestroy),因此您需要使用意图来恢复活动您的活动并将其带到主屏幕。