2013-09-09 4 views
0

Я просто хочу полностью закрыть приложение, когда пользователь нажимает на него или переключается на другое приложение. Есть ли какое-либо событие, которое я могу слушать, чтобы я мог выполнить код выхода?Android: как выйти из приложения, когда пользователь переходит от приложения

+0

'Activity.onPause()' вызывается, когда ваша активность переходит к фону/пользователю, переключается на другую операцию/нажимает кнопку «домой». – Vikram

+2

Почему вы хотите это сделать? Это «анти Android». Выходите из веб-страницы, когда находитесь в другом месте? – Simon

+0

Вы хотите закончить() все действия? –

ответ

0

При Home нажатии клавиши вы справляетесь, как это: метод

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 

    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     finish(); 
    } 
    return false; 
} 
0

Попробуйте это отлично работает со мной

// clear whole activity stack 

    Intent intent = new Intent("clearStackActivity"); 
    intent.setType("text/plain"); 
    sendBroadcast(intent); 

// start your new activity 
Intent intent = new Intent(OrderComplete.this, 
        MainActivity.class); 
startActivity(intent); 

Поместите эти строки в OnCreate() всех видов деятельности, или если у вас есть какая-то базовая деятельность, которую вы можете поместить там, тогда вам не нужно включать все действия.

private KillReceiver clearActivityStack; 
clearActivityStack = new KillReceiver(); 
     registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain")); 

положить этот класс в своей базовой деятельности

private final class KillReceiver extends BroadcastReceiver { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      finish(); 
     } 
    } 
0

Я нашел это из here.

Переопределить ниже метод в вашей деятельности.

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);   
} 

После переопределения выше метода, теперь вы можете легко слушать HOME нажмите клавишу в вашей деятельности, используя метод onKeyDown().

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) {  

    if(keyCode == KeyEvent.KEYCODE_HOME) 
    { 
     //The Code Want to Perform. 
    } 
}); 
+0

из ссылки u упомянуть, он работает только до 4.0.3 Я думаю, что это «ошибка» на самом деле, поскольку google не намерен позволять u захватывать домашнюю кнопку в любом случае :) – Bear

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