问题描述
|
我的Android应用程序有一个不活动超时。超时时,我将用户返回到(始终)在后堆栈中的“登录”屏幕。我的SignIn类已设置为“ 0”,因此始终在后堆栈中运行的实例被重用。
我在超时时开始此意图:
Intent inactivityTimeout = new Intent(this,SignIn.class);
inactivityTimeout.putExtra(INTENT_EXTRA_INACTIVITY_TIMEOUT,true);
int flags = inactivityTimeout.getFlags();
flags = flags|FLAG_FROM_BACKGROUND|Intent.FLAG_ACTIVITY_CLEAR_TOP;
inactivityTimeout.setFlags(flags);
登录屏幕启动时,它会额外检查“ 2”意图。如果找到,它将显示一个“您已被注销”对话框。这一切都正常工作。
现在,我要解决问题:由于它基于计时器,因此无论我的应用程序位于前台还是后台,都可以触发该Intent。这是理想的,因为我不希望应用程序仅在后台无限期地保持登录状态。
但是,当应用程序在后台运行并且计时器到期时,此inactivityTimeout Intent将被触发,并将应用程序带回前台。现在不必紧急提醒用户已超时,因此我希望该应用程序处于后台状态,以免打扰当前操作。
我尝试将FLAG_FROM_BACKGROUND
标志添加到我的Intent中,但应用程序仍处于前台。我不确定还可以尝试什么,或者如果这是我应该在Intent或接收活动中解决的问题。
谁能在我的意图中(或在响应活动中)建议实现此目标的方法。还是我在这里缺少概念性的东西?谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)