Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 完成当前活动将关闭整个应用程序_Android_Android Activity - Fatal编程技术网

Android 完成当前活动将关闭整个应用程序

Android 完成当前活动将关闭整个应用程序,android,android-activity,Android,Android Activity,我通过firebase发送通知,当我收到通知时,我打开一个带有该通知数据的活动,该活动像一个弹出式提醒一样打开,有一个关闭按钮,按下该按钮应关闭当前应用程序并保持在当前历史堆栈中的位置,假设我在任何屏幕内,通知来自后端,弹出活动打开,单击关闭按钮,它应该只关闭该特定活动,而不是当前场景中发生的整个应用程序。我还将noHistory标记添加到清单中的true。 //从firebase消息服务打开活动 public void openGifActivity(String alarmType, Str

我通过firebase发送通知,当我收到通知时,我打开一个带有该通知数据的活动,该活动像一个弹出式提醒一样打开,有一个关闭按钮,按下该按钮应关闭当前应用程序并保持在当前历史堆栈中的位置,假设我在任何屏幕内,通知来自后端,弹出活动打开,单击关闭按钮,它应该只关闭该特定活动,而不是当前场景中发生的整个应用程序。我还将noHistory标记添加到清单中的true。 //从firebase消息服务打开活动

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打开此活动时,在这种情况下,它不工作。可能在创建意图时传递的上下文有问题。我已经知道了,但我的目的不是,我不知道当时我使用的片段是在上面的片段,因为这个活动就像一个弹出窗口,当新通知到达时出现,应该在单击关闭按钮时关闭,应用程序的其余部分应该保持不变