Android 完成当前活动将关闭整个应用程序
我通过firebase发送通知,当我收到通知时,我打开一个带有该通知数据的活动,该活动像一个弹出式提醒一样打开,有一个关闭按钮,按下该按钮应关闭当前应用程序并保持在当前历史堆栈中的位置,假设我在任何屏幕内,通知来自后端,弹出活动打开,单击关闭按钮,它应该只关闭该特定活动,而不是当前场景中发生的整个应用程序。我还将noHistory标记添加到清单中的true。 //从firebase消息服务打开活动Android 完成当前活动将关闭整个应用程序,android,android-activity,Android,Android Activity,我通过firebase发送通知,当我收到通知时,我打开一个带有该通知数据的活动,该活动像一个弹出式提醒一样打开,有一个关闭按钮,按下该按钮应关闭当前应用程序并保持在当前历史堆栈中的位置,假设我在任何屏幕内,通知来自后端,弹出活动打开,单击关闭按钮,它应该只关闭该特定活动,而不是当前场景中发生的整个应用程序。我还将noHistory标记添加到清单中的true。 //从firebase消息服务打开活动 public void openGifActivity(String alarmType, Str
public void openGifActivity(String alarmType, String message, String extraMessage, String gifUrl, String leadNumber, String followUpTime, String userName) {
Intent intentGIFActivity = new Intent(this, AlarmGIFActivity.class);
intentGIFActivity.putExtra("alarmType", alarmType);
intentGIFActivity.putExtra("gifMessage", message);
intentGIFActivity.putExtra("extraMessage", extraMessage);
intentGIFActivity.putExtra("gifUrl", gifUrl);
intentGIFActivity.putExtra("followUpTime", followUpTime);
intentGIFActivity.putExtra("leadNumber", leadNumber);
intentGIFActivity.putExtra("userName", userName);
intentGIFActivity.putExtra("message", "0");
startActivity(intentGIFActivity);
}
//单击按钮关闭此活动
close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mMediaPlayer != null) {
mMediaPlayer.stop();
}
if (vibrator != null) {
vibrator.cancel();
}
AlarmGIFActivity.this.finish();
}
});
在单独的ActivityStack中创建此活动。创建意图时尝试使用新的任务标志。在此活动之后。this.finish。启动您想要导航的活动。不要错过为新任务和清除任务设置标志
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
我还从另一个活动打开此活动,在这种情况下,它工作正常,当我从firebaseMessagingService打开此活动时,在这种情况下,它不工作。可能在创建意图时传递的上下文有问题。我已经知道了,但我的目的不是,我不知道当时我使用的片段是在上面的片段,因为这个活动就像一个弹出窗口,当新通知到达时出现,应该在单击关闭按钮时关闭,应用程序的其余部分应该保持不变