Мне нужно выйти из моего приложения для Android, используя кнопку выхода в основной деятельности

Я создал два вида деятельности, а именно MainActivity и регистрацию. MainActivity используется для входа в систему, где пользователь вводит свое имя и пароль. MainActivity имеет три кнопки

  1. Кнопка входа
  2. Кнопка регистрации
  3. Кнопка выхода.

Когда я нажимаю кнопку входа в систему, пользователь входит в свою учетную запись, используя введенные им имя пользователя и пароль. Нажав на кнопку регистрации, вы перейдете к действиям по регистрации. Актив регистрации имеет кнопку "Назад", чтобы вернуться к основной активности. У меня есть третья кнопка выхода в основной деятельности, чтобы полностью выйти из приложения. Я создал экземпляр кнопки выхода, и в части setonclicklistener кнопки выхода я написал следующий код.

Button exit=(Button)findViewById(R.id.exit);
exit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();
        System.exit(0);         
    }
});

Теперь, когда я сначала запускаю приложение, будет отображаться основная активность. При нажатии на кнопку регистрации отображается активность регистрации. Когда я нажимаю кнопку "Назад" в процессе регистрации, я перехожу к основной деятельности. Затем из основной активности, когда я нажимаю кнопку "Выход", приложение закрывается, и отображается начальный экран. Когда я снова открываю свое приложение, вместо просмотра основной активности я вижу регистрационную активность. Пожалуйста, помогите мне. Мне нужно увидеть основной вид деятельности, когда я снова щелкаю значок приложения вместо действия регистрации. Извините за столь длинный вопрос. Может кто-нибудь, пожалуйста, помогите мне..

4 ответа

Решение

Добавьте этот тег в файл Android Manifest.xml внутри MainActivity.

android:clearTaskOnLaunch="true"

От http://developer.android.com/guide/topics/manifest/activity-element.html о noHistory:

Попробуйте добавить это в свой файл Manifest.xml между тегами avtivity.

андроид:noHistory="истина"

Попробуйте добавить это в свою регистрационную активность:

public void onBackPressed() {           
        finish();
}

И просто удалите System.exit(0); потому что вы уже назвали finish();

Начать регистрацию с помощью startActivityForResult() API от основной активности и не нужно вызывать какую-либо активность от щелчка по обратному вызову только кнопки выхода finish() сделаю работу...

Другие вопросы по тегам