从Deeplink启动时,我可以使用代码退出android应用吗?

时间:2018-08-22 21:14:03

标签: android exit activity-finish deeplink system.exit

我正在构建一个使用某些活动的应用程序,用户可以在其中进行导航,或者使用一个特定的活动(当使用深度链接时启动该应用程序)。在此DeeplinkActivity中,我有一个按钮,应用程序应使用该按钮退出整个应用程序,而不是将其置于后台。 我尝试了以下代码,仅关闭了该应用程序,但仍保留在后台?!

public void onStopButton(View view) {
    log.info("UI -> Stop this app");
    // this.finishAffinity();
    android.os.Process.killProcess(android.os.Process.myPid());
    // finish();
    System.exit(0);
}

我尝试了各种建议的组合,但没有一个真正退出应用程序。有人还有其他一些(有效的)代码建议吗? 我设置了minSdkVersion = 19和targetSdkVersion = 26

1 个答案:

答案 0 :(得分:0)

首先,请注意,有一个像您描述is considered to be an anti-pattern in Android的按钮。

话虽如此,如果您的minSdkVersion为21或更高,请用以下内容替换您的onStopButton()

public void onStopButton(View view) {
  finishAndRemoveTask();
}

如果您的minSdkVersion低于21,我不推荐there are some clunky workarounds