【问题标题】:force-stop the application programmatically in Android在 Android 中以编程方式强制停止应用程序
【发布时间】:2012-08-30 11:40:49
【问题描述】:

我想通过我的 Android 应用程序 force-stop 一个应用程序,(而不是像 apps-force->stop 那样手动操作)。如何做到这一点?

我用过:

android.os.Process.killProcess(android.os.Process.myPid());
system.exit(0);

它崩溃了。

【问题讨论】:

标签: android android-emulator


【解决方案1】:

android.os.Process.killProcess(android.os.Process.myPid()); 这个代码是正确的,也是最好的。如果您需要更多信息,请参阅链接为How to close Android application?Process

你也可以试试这个代码

Intent intent = new Intent(yourCurrentActivity.this, yourNextActivity.class);  
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);  
android.os.Process.killProcess(android.os.Process.myPid());

您启动一个活动,然后关闭当前活动。

【讨论】:

  • 您在哪里使用此代码android.os.Process.killProcess(android.os.Process.myPid());。您要关闭您的应用程序还是第 3 方应用程序。
  • 在最后一个活动中,我已经在 onclick() 中给出了这个
  • 此代码用于启动家庭活动,我想强制停止我的应用
  • 这段代码对我有用。请检查..您开始另一个活动并关闭当前活动。
  • 我不想开始新的活动。我需要的只是关闭一个像手动一样的应用程序(转到应用程序-> forcestop)。我希望它以编程方式完成。
【解决方案2】:

只需将此代码放在关闭按钮中,您的应用就会停止

private void endapp() {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    android.os.Process.killProcess(android.os.Process.myPid());
}

你也可以试试这个

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(10);

【讨论】:

  • 杀死进程 id 不会从最近列表中删除应用程序
【解决方案3】:

试试这个...

private void QuitApp() {

    //getActivity().moveTaskToBack(true); //Move the task containing this activity to the back of the activity stack. 

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    int pid = android.os.Process.myPid();
    android.os.Process.killProcess(pid);
    System.exit(0);
  }

【讨论】:

  • 这从根本上是错误的——终止进程不是应用程序开发人员的工作,而如果其工作结束,他们应该简单地调用finish()。系统将决定适当的进程生命周期。
猜你喜欢
  • 1970-01-01
  • 2023-04-06
  • 2011-07-03
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-28
相关资源
最近更新 更多