2011-06-27 93 views
0

我想重新實現我的應用程序的後退按鈕..怎麼回去我的應用程序

例如,當在手機上的後退按鈕用戶點擊應用程序將移動到最後一頁,如果這個頁面是第一個,退出應用程序

我已經嘗試了很多我在互聯網上找到的解決方案,但都沒有工作。我已經嘗試過

解決方案:

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      moveTaskToBack(true); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

@Override 
    public void onBackPressed() 
    { 
     moveTaskToBack(true); 
       return; 
    } 

,我得到了sucess唯一的辦法是這樣的:

public boolean dispatchKeyEvent(KeyEvent event) { 
    // Handling the back button 
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { 

    Intent i = new Intent(this,BtConn.class); 
    this.startActivity(i); 
    return true; 
    } else { 
    return super.dispatchKeyEvent(event); 
    } 
} 

但它的速度太慢。

我的應用程序是Android 2.1

------------- -------------編輯

成功,而是一個緩慢解決方案

@Override 
public void onBackPressed() { 

    if (contentView == R.layout.main){ 
     Log.d("AQUI", "entro"); 
     finish(); 
    }else{ 
     Log.d("AQUI", "nao entro"); 
     this.finish(); 
     Intent i = new Intent(this,BtConn.class); 
     this.startActivity(i); 
    } 
} 
+0

請解釋後退按鈕的默認行爲是如何從什麼不同你正在努力實現。 – Marmoy

+0

@視頻>請仔細閱讀問題。後退不會將用戶降落到發射活動! – Saty

回答

0

趕上後退按鈕並致電this.finish();

+0

但this.finish()將結束我的應用程序, 我想回到第一個屏幕,如果應用程序在其他屏幕 – Shermano

+0

nope,調用this.finish()將完成當前活動,並返回上一個活動。 – Eric

+0

哼哼謝謝很多人 – Shermano

0

使用這種方法

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

     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      Log.d("click","backButtonclicked"); 
      SingleHouse.this.startActivity(new Intent(SingleHouse.this, RentPage.class)); 
      moveTaskToBack(false); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

實施this.Here活動是SingleHouse.I搬回稱爲RentPage

的第一個活動
相關問題