android - 如何在 android 中以编程方式关闭我的应用程序?

标签 android android-activity android-os-handler

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

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

我会发布我的代码以供引用。

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();
}

最佳答案

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

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

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

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

你就完成了....

更多详情.. exit android application programmatically

关于android - 如何在 android 中以编程方式关闭我的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35081130/

相关文章:

android - 正确扩展/覆盖库 Activity ,在新项目中有效地替换它?

android - 从 Activity 上下文外部调用 startActivity()

java - Activity 类别下降

java - 如何在java中的不同线程中显示和隐藏一个 View ?

java - 如何将 ViewPager 添加到 Android 应用程序中的抽屉导航项?

java - 为 Java 公开 MYSQL (android)

android - 单击项目菜单时如何关闭抽屉菜单?

android - 搜索用于远程播放的 DLNA(Upnp) 媒体渲染器