2017-01-20 10 views
-1

다음 방법을 사용하여 비활성화하려면 홈 키 클릭 이벤트가 발생하지만 홈 키를 클릭하면 내 앱이 종료됩니다. 사용자가 홈 키를 클릭 할 때마다 내 앱이 닫히지 않습니다.Android에서 홈 키의 클릭 이벤트를 사용 중지하려면 어떻게해야하나요?

@Override 
protected void onUserLeaveHint() { 
    super.onUserLeaveHint(); 
    moveTaskToBack(false); 
} 
+0

이 볼 http://stackoverflow.com/questions/31383469/how-to-disable- 홈 버튼 - 프로그래밍 방식으로 –

+0

ur 빠른 응답을위한 tks .. tak 링크가 작동하지 않습니다. @aksacha – ManiCR7

답변

0

재정 당신의 활동에 아래의 방법

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

그리고 지금과 같이 키 이벤트를 처리,

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_HOME) 
    { 
    Log.i("Home Button","Clicked"); 
    } 
    if(keyCode==KeyEvent.KEYCODE_BACK) 
    { 
     finish(); 
    } 
return false; 
} 
+0

"TYPE_KEYGUARD"는 오류를 표시하지만 .. TYPE_KEYGUARD_DIALOG 유형을 사용하고 있습니다.이 오류가 발생합니다. ** java .lang.IllegalArgumentException : 창을 추가 한 후에 창 유형을 변경할 수 없습니다. 에드 ** .-- – ManiCR7

0

는 활동의 코드에 자신을 넣어. 이 버튼을

@Override 
public void onBackPressed() { 

} 
0

안드로이드 4 년 이후 홈 버튼을 비활성화 할 효과적인 방법이없는 클릭 다시 차단됩니다. 그것이 우리가 또 다른 작은 해킹이 필요한 이유입니다. 일반적으로 에서 새 응용 프로그램이 포어 그라운드에있을 때를 감지하고 작업을 즉시 다시 시작하는 것이 좋습니다.

확인이 해결 방법 : http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/

0

는 u는 홈 버튼을 같이 누르면 ovverride 수 있습니다

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_HOME)) { 
     Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show();      
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
}