2016-03-09 2 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() для запуска второй активности добавьте эту строку 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 и Fragment деятельность А. Затем, вы должны очистить стек действий и оставить только 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 методы в вашей основной деятельности

@Override общественные недействительный onBackPressed() { super.onBackPressed(); finish(); }

Смежные вопросы