Android:防止回到以前的活动
我想在Android上执行此操作:基本上,在手机上按下“返回”按钮时,我想阻止特定活动返回到之前的状态。
具体来说,我有登录和注册屏幕,当成功登录/注册时,都会启动一个名为HomeScreen
的新活动。 一旦启动了HomeScreen,我想要防止用户能够通过按下BACK键返回登录或注册屏幕。
我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY
但由于应用程序具有Facebook集成,所以当使用“使用Facebook登录”时,Facebook应返回到初始登录屏幕,因此我应该保留这些活动的历史记录。
当按下按钮并使用时,我想到HomeScreen
上的BACK按钮的覆盖行为直接完成应用程序
@Override
public void onBackPressed() {
finish();
}
但这也行不通。
我在Android开发方面很新,所以任何帮助都会非常有用。
提前致谢。
我的建议是完成你不希望用户返回的活动。 例如,在您的登录活动中,在您调用startActivity
,请调用finish()
。 当用户点击后退按钮时,他们将无法进入登录活动,因为它已被杀死。
以下解决方案在通常的登录/主要活动方案或实施阻止屏幕中非常有用。
为了最小化应用而不是回到以前的活动,可以像这样覆盖onBackPressed()
:
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
moveTaskToBack(boolean nonRoot)
保持原样,将你的任务(所有活动)放在后台。 与用户按下主页按钮相同 。
参数boolean nonRoot
- 如果为false,则仅当活动是任务的根时才起作用; 如果属实,它将适用于任务中的任何活动。
我不确定你想要什么,但它听起来应该是可能的,而且这听起来像你已经走上了正轨。
以下是一些可能有所帮助的链接:
在android中禁用后退按钮
MyActivity.java =>
@Override
public void onBackPressed() {
return;
}
我如何禁用“返回”某些活动?
AndroidManifest.xml =>
<activity android:name=".SplashActivity" android:noHistory="true"/>
链接地址: http://www.djcxy.com/p/26165.html
上一篇: Android: Preventing going back to the previous activity
下一篇: android : behaviour on pressing HOme key for single task