Android Studio Hedgehog 2023.1.1 - 从Studio启动的应用程序(运行)在按下返回按钮时会导致Activity.onStart()/onStop()方法调用两次。
创始人
2024-08-16 18:00:45
0次

要解决这个问题,你可以尝试在Activity中使用一个标志位来跟踪Activity的状态,并在返回按钮按下时进行检查。下面是一个示例代码:

public class MainActivity extends AppCompatActivity {
    private boolean isReturning = false;

    @Override
    protected void onStart() {
        super.onStart();
        if (isReturning) {
            isReturning = false;
            return;
        }
        // 在Activity启动时执行的代码
    }

    @Override
    protected void onStop() {
        super.onStop();
        if (isReturning) {
            isReturning = false;
            return;
        }
        // 在Activity停止时执行的代码
    }

    @Override
    public void onBackPressed() {
        isReturning = true;
        super.onBackPressed();
    }
}

在这个示例中,我们在Activity中添加了一个boolean类型的标志位isReturning,默认为false。当按下返回按钮时,我们将isReturning设置为true,并在onStart()和onStop()方法中检查isReturning的值。如果isReturning为true,则跳过对应的方法调用,避免重复执行代码。

这样做的原理是,按下返回按钮时,onBackPressed()方法会在Activity的生命周期方法之前调用,所以我们可以利用这个机会来设置标志位。当Activity重新启动时,我们检查标志位的值,如果为true,则说明是从按下返回按钮返回的,我们跳过对应的生命周期方法的执行。

这是一种解决这个问题的方法,可能并不适用于所有情况,具体实现还要根据你的具体需求进行调整。

相关内容

热门资讯

实操分享开挂!中至吉安麻将辅助... 实操分享开挂!中至吉安麻将辅助透视挂,大唐麻将确实有外挂,其实有挂方式1、每一步都需要思考,不同水平...
一分钟带你了解开挂!微乐斗地主... 您好,微乐斗地主这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这...
玩家必看教程开挂!哈局八张辅助... 玩家必看教程开挂!哈局八张辅助透视挂,天天大冶麻将是有外挂,确实有挂存在哈局八张脚本下载中分为三种模...
重大通报辅助!天天微友辅助透视... 重大通报辅助!天天微友辅助透视挂,天天乐比赛确实有外挂,一直揭秘有挂1)天天乐比赛有没有挂:进一步探...
近期透视挂!亮点互动辅助透视挂... 近期透视挂!亮点互动辅助透视挂,佛手在线真的有外挂,一贯有挂透视1.亮点互动 选牌创建新账号,点击进...
一分钟揭秘透视挂!九天揽月辅助... 一分钟揭秘透视挂!九天揽月辅助透视挂,微乐广东麻将真的有外挂,确实真是有挂1、任何微乐广东麻将透视是...
专业讨论开挂!广丰五十k辅助透... 专业讨论开挂!广丰五十k辅助透视挂,爱煌 绿竹是真的有外挂,原来揭秘有挂进入游戏-大厅左侧-新手福利...
长期以来透视挂!棋开得胜辅助透... 长期以来透视挂!棋开得胜辅助透视挂,闲云是真的有外挂,一贯新版有挂1、许多玩家不知道棋开得胜辅助怎么...
为了进一步开挂!微乐北京麻将辅... 为了进一步开挂!微乐北京麻将辅助透视挂,众乐确实有外挂,原来今日头条1、点击下载安装,微乐北京麻将脚...
记者发布辅助!凑一桌游戏辅助透... 记者发布辅助!凑一桌游戏辅助透视挂,讯奇麻将存在有外挂,切实的确有挂1、这是跨平台的凑一桌游戏轻量版...