简体   繁体   English

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

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

I'm installing my app then save data using Main Activity and going to another Fragment activity.Next time I'm starting my App always preview second Fragment then I press back going to Main Activity But I don't want to go Main Activity.I want press back button close My App.I try this 我正在安装我的应用程序,然后使用“主活动”保存数据并转到另一个“ 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();

try some like this in your onBackPress method 在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();
    }

--Simplest way to close/exit app : -关闭/退出应用程序的最简单方法:

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

Try this : 尝试这个 :

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

I believe this thread can help you: Android: Quit application when press back button 我相信此线程可以为您提供帮助: Android:按“后退”按钮时退出应用程序

Let's say your Main Activity is B and the Fragment activity is A. Then, you must clear the stack of activities and leave only A on the stack. 假设您的主要活动是B,而片段活动是A。那么,您必须清除活动堆栈,并在堆栈上仅保留A。 Use this: 用这个:

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

override onBackPressed method in your main activity 在您的主要活动中覆盖onBackPressed方法

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

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

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