【问题标题】:How to close total application in Android?如何关闭Android中的全部应用程序?
【发布时间】:2012-10-26 22:20:24
【问题描述】:

我是 android 应用程序开发的新手。

我开发了一个 android 应用程序,在这个应用程序中,当用户按下返回或退出按钮时,我调用了 finish() 方法。此方法仅关闭当前活动。

我的要求是当我点击退出按钮时,它应该关闭所有活动并显示菜单页面。这可能吗?

【问题讨论】:

    标签: java android


    【解决方案1】:

    这个主题已经得到了一些讨论,here 应该包含您正在寻找的大部分信息。

    另外,请参阅Android Documentation on Activities 中的 Activity Lifecycle 和 Process Lifecycle,以了解关闭应用程序的方式和原因。

    【讨论】:

      【解决方案2】:

      当你从A活动转到B活动时,在android stack中调用finish().so,A活动会得到@987654323 @。当您在顶部活动上按返回或退出按钮时,堆栈会变空,然后您将转到菜单屏幕或主屏幕。

      例如:当您从 A 活动到 B 活动时执行以下步骤:

      startActivity(new Intent(A.this, B.class));
      finish();
      

      所以您的 A 活动完成,您的新 B 活动开始。在这里,当您按下返回按钮或退出按钮时,您将进入主屏幕或菜单屏幕。

      这里我们有两种方法finish or kill应用程序按下后退按钮

      1. 使用finish() 关闭或完成 android 屏幕上的当前活动。

        例如:您有 2 个活动,即 AB。您将使用意图从 A 活动转到 B 活动,现在前台活动是 B,您想返回并杀死 B 活动和转到 A 活动使用finish() onclick 后退按钮。如果您在 A 活动,则它会关闭应用程序。见下面的代码。

        public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
        finish();
        }
        return super.onKeyDown(keyCode, event);
        }
        
      2. 使用 android.os.Process.killProcess(android.os.Process.myPid()); 杀死应用程序,即强制关闭应用程序并转到主屏幕。请参阅下面的代码。

        public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
        // Kills & force closes the app 
        android.os.Process.killProcess(android.os.Process.myPid());
        }
        return super.onKeyDown(keyCode, event);
        }
        

      【讨论】:

      • @CommonsWare -- 你的权利,不应该使用 killProcess()。这不是一个好习惯。
      【解决方案3】:

      我的要求是当我点击退出按钮时,它应该关闭所有活动并显示菜单页面。

      假设“菜单页面”是您的活动,请致电startActivity(),并使用Intent 标识您的“菜单页面”,并将FLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP 包括在Intent 上作为标志。这将清除您任务中的所有活动,并将您现有的“菜单页”置于前台(如果没有,则创建“菜单页”的实例)。

      【讨论】:

        猜你喜欢
        • 2014-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多