2016-03-09 19 views
2

我安装我的应用程序,然后保存数据使用主要活动,并去其他片段活动。下次我开始我的应用程序总是预览第二个片段,然后我按回来主要活动但我不想去主要Activity.I想按后退按钮关闭我的App.I试试这个如何关闭应用程序,当我按回来?

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

} 
+0

你打电话完成()当你有意图吗? –

+0

http://stackoverflow.com/questions/2092951/how-to-close-android-application通过这个链接 – saeed

+0

@KristiyanVarbanov无法调用完成()在片段 –

回答

2

在Mainactivity,行startActivity()后开始第二次活动在主要活动

@Override加入这一行this.finish();

0

--Simplest的方式来关闭/退出应用程序:

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

试试这个:

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

尝试一些像这样在你的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(); 
    } 
0

我相信这线程可以帮助您:Android: Quit application when press back button

比方说,您的主要活动是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); 
0

覆盖onBackPressed方法 公共无效onBackPressed(){ super.onBackPressed(); finish(); }

相关问题