2013-03-21 1 views
0

내 안드로이드 응용 프로그램에서 장치 홈 버튼 클릭을 처리하고 싶습니다.이 녀석이 훔쳤다 고하면이 Link이 작동합니다. 그러나 나는 약간의 의문이 있습니다.기기의 홈 버튼 클릭을 효율적으로 처리하는 방법은 무엇입니까?

  1. 모든 Android 버전에서 지원됩니까? 지원되지 않는 버전이 있습니까?

  2. onAttachedToWindow() 메서드를 사용했기 때문에 결과가 있습니까?

  3. 홈 버튼 클릭 (이 경우 제외)을 처리 할 수있는 방법이 있습니까? 사전에

감사

답변

0

이 단지 작품을 시도하십시오 . 하지만 os 버전 4.0에서는 작동하지 않습니다 (내 에뮬레이터에서는 API 레벨 11 이후에도 작동하지 않지만 많은 다른 링크에 따라 ics를 가리키고 있습니다).

+0

, 사용자가 홈 버튼을 클릭하면 응용 프로그램이 백그라운드로 이동하고 지정된 시간에 자동으로 다시 시작되도록 만들고 싶습니다. 어떻게해야합니까? –

+0

이것을 확인하십시오 http://stackoverflow.com/a/10118640/931982 및 this http://stackoverflow.com/a/5040120/931982 – stinepike

-1

그래 그 작업이 코드

@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

모든 Android 버전에서 작동합니까? –

+0

그래, 확실히 그 작품. – AndroidEnthusiastic

+0

시도해보십시오 java.lang.IllegalArgumentException throw합니다 : 창 유형을 창을 추가 한 후 변경할 수 없습니다. –

0

다른 게시물에 있습니다.

오래된 Android 버전에서는 정상적으로 작동합니다. 그러나 안드로이드는 "홈 버튼은 홈 버튼을 유지해야한다"고 말했기 때문에 이것을 바꾸었다. 아무도 홈 버튼을 무시하지 않기를 바랬다. 그리고이 이유 때문에 코드가 더 이상 작동하지 않습니다.

홈 단추를 눌렀을 때 무언가를하려면 onPause 메서드에서이 작업을 수행하십시오.

관련 문제