2011-06-29 35 views
5

Uygulamamı arkada kapatmasını engellemek için uygulamanızın etkinliğinde aşağıdaki kodu kullanıyorum.Geri Dön düğmesinin uygulamamı kapatmasını engelle

/* Prevent app from being killed on back */ 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 

     // Back? 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      // Back 
      moveTaskToBack(true); 
     } 

     // Return 
     return super.onKeyDown(keyCode, event); 

    } 

Çalışmıyor. App uyumlu Android 1.6 (API Seviye 4) olarak ayarlanmıştır. Uygulama simgemi tıklamak, uygulamamı bir Sıçrama etkinliğinde yeniden başlatıyor (Ana). Uygulamamın arkadan kapanmasını nasıl engelleyebilirim?

cevap

8

super numaralı çağrıyı başka bir bloğa koymaya çalıştınız, bu nedenle yalnızca anahtar KEYCODE_BACK değilse çağrılır mı? gerçi Açıkçası

/* Prevent app from being killed on back */ 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 

     // Back? 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      // Back 
      moveTaskToBack(true); 
      return true; 
     } 
     else { 
      // Return 
      return super.onKeyDown(keyCode, event); 
     } 
    } 

, uygulamanızın her an arka planda yerleştirilir kez çünkü bellek geri sistem için geri dönüşümlü olabilir bu güvenemez.

+0

Bu mükemmel çalıştı. Kullanarak rezervasyon yaptırdıklarını biliyorum ama bunu çok uygun buluyorum. –

1

Bunu yapsanız bile yapmamalısınız. Kullanıcıların uygulamanızı her zaman hafızada tutmaya zorlamaları iyi bir fikir değildir ve sadece onları kızdırır.

10

Daha özlü bir çözüm: -

@Override 
public void onBackPressed() { 
    // do nothing. We want to force user to stay in this activity and not drop out. 
} 
0

kapanış önlenmesi yanı sıra geri gezinmek için ihtiyaç ardından Android WebView'da bu kullanıyorsanız:

@Override 
public void onBackPressed() { 
    if (mWebView.canGoBack()) { 
     mWebView.goBack(); 
     return; 
    } 

    // Otherwise defer to system default behavior. 
    super.onBackPressed(); 
} 
İlgili konular