【问题标题】:How to close my application programmatically in android?如何在android中以编程方式关闭我的应用程序?
【发布时间】:2016-01-29 09:35:32
【问题描述】:

我需要退出我的应用程序,我已经在 Stack Overflow 和其他网站上引用了所有链接,我使用了 finishAffinity()finish()System.exit(0) 仍然无法实现它。我正在覆盖 Main Activity 中的 onBackPressed 方法并终止应用程序。

实际上,当我在启动应用程序后按下返回按钮时它工作正常。但是当我继续进行其他活动并返回 MainActivity 时,它不起作用。如果我使用finishAffinity(),它将打开我的相机活动,这是我在项目中的活动之一。如果我使用finish(),它将打开我的第二页活动。

我将发布我的代码以供参考。

MainActivity.Java

 @Override
public void onBackPressed()
{

    if (back_pressed + 2000 > System.currentTimeMillis())
    {
        Log.e("called", "back pressed");
       finish();


    }

    else {

        Toast.makeText(getBaseContext(), "Press twice to exit!", Toast.LENGTH_SHORT).show();
    }

    back_pressed = System.currentTimeMillis();
}

【问题讨论】:

  • “回到 MainActivity,它不起作用”是什么意思?
  • 人们使用 System.exit() 但这些突然的事情对我来说就像噩梦,see this approach,我想它是干净的。
  • 已编辑:返回 MainActivity 时,它不起作用。
  • @nobalG 我用过。我仍然无法关闭我的应用程序。

标签: android android-activity android-os-handler


【解决方案1】:

当您希望退出所有打开的活动时,您应该按下一个按钮,该按钮会加载您的应用程序启动时运行的第一个活动,然后清除所有其他活动,然后完成最后一个剩余活动。为此,请在您的项目中应用以下代码

Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

上面的代码完成了除FirstActivity之外的所有活动。然后我们需要完成FirstActivity的在FirstActivity的oncreate中输入下面的代码

if (getIntent().getExtras() != null && getIntent().getExtras().getBoolean("EXIT", false)) {
    finish();
}

你已经完成了......

更多详情..exit android application programmatically

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2013-03-27
    • 1970-01-01
    • 2011-06-29
    相关资源
    最近更新 更多