gpt4 book ai didi

Android:重复 Activity onBackPressed()

转载 作者:行者123 更新时间:2023-11-29 19:26:35 26 4
gpt4 key购买 nike

我只是想口头解释我现在遇到的问题,而不是显示整个代码,因为我认为这可能更容易让您找出问题所在。

我从 Activity A 开始。当我点击此处的按钮 B 时,我将移动到 Activity C。在此 Activity 中配置一些内容后,我按下后退按钮返回到之前的 Activity A

这是 Activity B 中的 onBackPressed() 部分。

@Override
public void onBackPressed() {
if (mediaPlayer != null && mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.release();
}

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityForResult(intent, RESULT_OK);
finish();
}

使用该代码,我设法返回到上一个代码,Activity A。但是,当我在这个Activity A中再次点击后退按钮时,我发现自己处于相同的Activity A状态,并且处于预配置状态。

这是 Activity A 中的 onBackPressed()

@Override
public void onBackPressed() {
super.onBackPressed();
turnOffRingtone(RingtoneVolumeControl.PLAYER);
}

private void turnOffRingtone(MediaPlayer ringtone) {
try {
if (ringtone != null) {
ringtone.stop();
ringtone.release();
}
} catch(IllegalStateException e) {
Log.i(ApplicationManager.LOG, e.getMessage());
}
}

最佳答案

在从 Activity A 传递 intent 时在 intent 中添加此标志。它将清除返回堆栈

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

关于Android:重复 Activity onBackPressed(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com