【问题标题】:How to force close app such as system close on Android如何在Android上强制关闭应用程序,例如系统关闭
【发布时间】:2012-12-31 16:33:03
【问题描述】:

我想强制关闭我的应用作为 Android 系统。
如在系统上选择下面的步骤。

"Setting" -> "Apps" -> "my app name" -> "Force stop"  

我想通过代码实现相同的行为。
我该怎么做?

【问题讨论】:

  • 但你为什么要这样做?
  • 我只想为用户添加一个强制关闭应用按钮。
  • 为什么不添加一个“关闭”按钮并干净地完成所有活动,而不是强制关闭应用程序?
  • 为什么不做“Android”的事情并且没有关闭按钮? 99% 的应用都不需要一个,令人沮丧的是,如此多的应用浪费了屏幕空间,而且谁知道在关闭按钮后面隐藏着什么编码恐怖。

标签: android forceclose


【解决方案1】:

您可以编写以下代码行来终止您的 App 进程。这是当您单击

中的“强制停止”时代码运行的内容

设置 --> 管理应用程序

android.os.Process.killProcess(android.os.Process.myPid());

【讨论】:

  • 谢谢 TNR。它成功了。但是,它将用户重定向到我们应用程序的第一个活动(我认为它重新启动了我们的应用程序)。有什么办法可以避免吗?
  • @ShivanandDarur 你会想调用'finish();'之后处理关闭那个 Activity。
【解决方案2】:

您可以使用http://developer.android.com/reference/android/os/Process.html 杀死您的应用程序进程。

【讨论】:

    【解决方案3】:

    是的,您可能必须致电public static final void killProcess (int pid) 杀死具有给定 PID 的进程。请注意,尽管此 API 允许我们根据其 PID 请求终止任何进程,但内核仍会对您实际能够终止的 PID 施加标准限制。通常,这意味着仅运行调用者的包/应用程序的进程以及该应用程序创建的任何其他进程;共享一个公共 UID 的包也将能够杀死彼此的进程。

    【讨论】:

      【解决方案4】:

      有强制关闭,也有强制关闭。 killProcess 大部分时间都在发挥作用,但在某些情况下它还不够(例如广播消息)。

      要彻底彻底终止应用程序,只需将以下方法添加到您的活动并调用它即可。这实际上做了什么将留给读者作为练习。 :)

      @SuppressWarnings("null")
      public void crash() {
          Object o = null;
          o.hashCode();
      }
      

      超级脏,是的。但如果您确实需要模拟力关闭(就像我一样),则很有用。

      【讨论】:

        猜你喜欢
        • 2011-12-29
        • 2016-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-24
        相关资源
        最近更新 更多