gpt4 book ai didi

android - 如何识别 Activity 是从后台启动的

转载 作者:行者123 更新时间:2023-11-29 18:01:29 25 4
gpt4 key购买 nike

当应用程序从后台转到前台时,我遇到了如何调用用户定义的方法(否则只是记录一条消息)的问题,即如果用户按下主页按钮,当应用程序进入后台时再次来到前台我想显示一个警告框。有人可以告诉我如何执行此检查是否应用程序已进入前台或提供一些链接。我不知道要搜索什么。一些网站让我重写 OnResume()。但是,每次我的 Activity 从一个 Activity 启动到另一个 Activity 时都会调用此方法,即使我回到此 Activity 也是如此。只有当用户从后台转到前台时,我才需要调用此方法。

最佳答案

这是一个简单的解决方案。

@Override
protected void onPause()
{
super.onPause();

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
isScreenOn = powerManager.isScreenOn();
OnPause = true;

}

@Override
protected void onResume()
{
super.onResume();
OnResume = true;
if (!isScreenOn)
{
// your code;
}
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();

if(OnPause == true && OnResume == true && !isScreenOn)
{
YourActivity.this.finish();
}
isScreenOn = false;
OnPause = false;
OnResume = false;
}

这里的ScreenOn、OnPause、OnResume都是 bool 值。当您的手机屏幕被锁定时,应用程序会进入 onPause() 并检查“isScreenON”,然后进入“onStop()”,其中 isScreenOn 设置为 false。

当您的 Activity 出现在前台时,“onResume”将被调用。它会检查 isScreenON,它的工作绝对完美。

关于android - 如何识别 Activity 是从后台启动的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15875572/

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