首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何防止返回到之前的活动?

如何防止返回到之前的活动?
EN

Stack Overflow用户
提问于 2011-12-26 03:12:09
回答 9查看 190.6K关注 0票数 226

当按下电话上的后退按钮时,我希望阻止特定活动返回到之前的活动。

具体地说,我有登录和注册屏幕,当成功登录/注册时,这两个屏幕都会启动一个名为HomeScreen的新活动。一旦启动了HomeScreen,我希望阻止用户通过按BACK键返回登录或注册屏幕。

我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY,但由于应用程序集成了Facebook,当使用‘登录Facebook’时,Facebook应该返回到初始登录屏幕,因此我应该保留这些活动的历史记录。

我想重写HomeScreen上后退按钮的行为,以便在按钮被按下时直接完成应用程序

代码语言:javascript
复制
@Override
public void onBackPressed() {
    finish();
}

但这也行不通。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-12-29 02:53:08

我的建议是完成你不希望用户返回的活动。例如,在您的登录活动中,在调用startActivity之后立即调用finish()。当用户点击后退按钮时,他们将无法转到登录活动,因为它已从堆栈中删除。

票数 365
EN

Stack Overflow用户

发布于 2011-12-26 03:22:57

我不确定你到底想要什么,但这听起来应该是可能的,而且听起来你已经在正确的轨道上了。

以下是一些可能有帮助的链接:

Disable back button in android

代码语言:javascript
复制
  MyActivity.java =>
    @Override
    public void onBackPressed() {

       return;
    }

How can I disable 'go back' to some activity?

代码语言:javascript
复制
  AndroidManifest.xml =>
<activity android:name=".SplashActivity" android:noHistory="true"/>
票数 39
EN

Stack Overflow用户

发布于 2011-12-26 03:23:42

finish()提供了关闭当前活动而不是整个应用程序的方法。你最好不要试图寻找杀死应用程序的方法。小小的建议。

你有没有试过Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | Intent.FLAG_ACTIVITY_NO_HISTORY的合取?记住在Intent启动活动中使用此标志!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8631095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档