2014-02-19 3 views
2

Я использую намерения в своем приложении, и я создал кнопку выхода. Когда нажата кнопка выхода, она закрывает только текущую активность, а остальные действия все еще выполняются. Это мой код:Кнопка выхода в android

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

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       finish(); 
       System.exit(0); 

      } 

Как выйти из всего приложения, когда нажата кнопка выхода? Помогите мне решить проблему.

+4

из любопытства, почему вы хотите иметь кнопку выхода в вашем приложении? – elimirks

+0

Это то, что кнопка дома для ... – 2Dee

+0

Пожалуйста, не помещайте кнопки «выхода» в приложении для Android. Какое возможное использование? Хуже того, не используйте system.exit (0). Он не делает то, что, по вашему мнению, он делает, его следует использовать только по очень определенным причинам, и это взломать. – Simon

ответ

-2

Попробуйте это один

@Override 
    public void onClick(View arg0) { 

     System.exit(0); 

    } 
+4

-1 для того, чтобы даже предложить system.exit() – Simon

2

Android не вводит понятие «близко все, что я открыл в мое приложение и выйти чисто». Правильный способ сделать это - позвонить finish() на каждом из ваших Activities, таким образом вы сообщаете Android, так что вы хотите выйти.

Если у вас есть только один Activity, просто набрав finish(), он сделает трюк. Однако, если у вас много, и вы справляетесь с тем, что они помещают их в фоновом режиме/переднем плане, вы можете прочитать this.

Однако не ожидайте, что finish() закроет ваше приложение мгновенно. Даже если вы его назовете, Android сохранит его в памяти некоторое время, на случай, если пользователь захочет открыть его за короткое время, он имеет свою копию в памяти, и загрузка будет быстрее, но так оно и есть.

1

вы можете попробовать это:

b=(Button)findViewById(R.id.button1); 
b.setOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View arg0) { 
Intent myInt=new Intent (Intent.ACTION_MAIN); 
Intent.addCategory(Intent.CATEGORY_HOME); 
Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(myInt); 
}}); 
Смежные вопросы