2013-09-29 124 views

回答

1
@Override 
public void onAttachedToWindow() 
{ 
    Log.i("TESTE", "onAttachedToWindow"); 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

使用此方法,HOME按鈕停止在此活動(僅此活動)中工作。然後你只需重新實現,因爲這是一個正常的按鈕事件(例如後退按鈕)。從Can I override the 'Home' button in my application?

0

採取

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     Log.i("TESTE", "BOTAO HOME"); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event);  
} 

爲此在您的onStop方法

@Override 
    protected void onStop() { 
     finish(); 
     super.onStop(); 
    } 

希望這個作品

Reference

0

可以覆蓋的onPause,每次在完成應用程序活動暫停。這會在不在前臺時破壞應用程序。

@Override 
public void onPanelClosed(int featureId, Menu menu) { 
    finish(); 
    super.onPanelClosed(featureId, menu); 
} 

或者您可以在清單中聲明此活動不應該返回。這不會破壞應用程序,當不在前臺。

<activity 
     android:name="com.testapp.MainActivity" 
     android:label="@string/app_name" 
     android:noHistory="true" > 
    </activity> 
0

在清單您的主要活動把

android:clearTaskOnLaunch="true" 
android:finishOnTaskLaunch="true" 

從官方文檔clearTaskOnLaunchhttp://developer.android.com/guide/topics/manifest/activity-element.html

當值是「真」,每當用戶啓動任務再次,他們 被帶到其根源活動,無論他們在最後的 做什麼在任務中,並且不管他們是否使用了Back或者Hom e 按鈕將其退出。當值爲「false」時,可能會在某些情況下清除任務的活動 (請參閱alwaysRetainTaskState 屬性),但並非總是如此。

假設,例如,有人從家裏 屏幕啓動活動P,並從那裏進入活動Q.用戶一次按下主頁, 然後返回到活動P.通常情況下,用戶將看到活動 Q,因爲那是他們最後在P的任務中做的。但是,如果P 將此標誌設置爲「true」,則在用戶按Home並且任務轉到 背景時,其上的所有活動(此 個案中的Q)都會被刪除。所以用戶在返回任務時只能看到P.

相關問題