繁体   English   中英

我按下后如何关闭应用程序?

[英]how to close app when i press back?

我正在安装我的应用程序,然后使用“主活动”保存数据并转到另一个“ Fragment”活动。下次启动我的应用时,总是预览第二个“ Fragment”,然后按回去进入“主活动”,但我不想去“主活动”。我想按返回按钮关闭“我的应用”。

@Override
public void onResume() {
    super.onResume();

    getView().setFocusableInTouchMode(true);
    getView().requestFocus();
    getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
                // handle back button's click listener
                Toast.makeText(getActivity(), "Back press", Toast.LENGTH_SHORT).show();
                return true;
            }
            return false;
        }
    });

}

在您的Mainactivity中,在用于启动第二项活动的startActivity()行之后,添加以下this.finish();

在onBackPress方法中尝试这样的方法

@Override
    public void onBackPressed() {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        //to clear all old opened activities 
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();
    }

-关闭/退出应用程序的最简单方法:

@Override
    public void onBackPressed() {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
        finish();
    }

尝试这个 :

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        finish();
       }

我相信此线程可以为您提供帮助: Android:按“后退”按钮时退出应用程序

假设您的主要活动是B,而片段活动是A。那么,您必须清除活动堆栈,并在堆栈上仅保留A。 用这个:

Intent launchNextActivity;
launchNextActivity = new Intent(B.class, A.class);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);                  
launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(launchNextActivity);

在您的主要活动中覆盖onBackPressed方法

@Override public void onBackPressed(){super.onBackPressed(); 完(); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM