'버튼'에 해당되는 글 2

  1. 2014.11.17 전원버튼 이벤트 감지하기
  2. 2014.11.17 홈버튼 이벤트 감지하기 (2)
Android/기본스킬 | Posted by 덩치 2014.11.17 17:19

전원버튼 이벤트 감지하기

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


IntentFilter powerFilter = new IntentFilter(Intent.ACTION_SCREEN_OFF);

registerReceiver(mPowerBroadcast, powerFilter);



BroadcastReceiver mPowerBroadcast = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if(Intent.getAction().equals("android.intent.action.SCREEN_OFF") {

// 스크린이 꺼질때 이벤트

}

else if(Intent.getAction().equals("android.intent.action.SCREEN_ON") {

// 스크린이 켜질때 이벤트

}

else

return;

}


}


그리고 onDestroy 등에서

unregisterReceiver(mPowerBroadcast);

를 이용해 브로드캐스트를 종료한다.



댓글을 달아 주세요

Android/기본스킬 | Posted by 덩치 2014.11.17 17:12

홈버튼 이벤트 감지하기

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

@Override

protected void onUserLeaveHint() {

//여기서 감지

Log.d(TAG, "Home Button Touch");

super.onUserLeaveHint();

}


홈키 눌렀을때 작동되어야 하는 작업들을 위의 소스코드를 이용하여 처리할 수 있다.




댓글을 달아 주세요

  1.  댓글주소  수정/삭제  댓글쓰기 아데우스 2015.06.09 09:54

    100퍼센트 불가능입니다. 저 이벤트가 홈키때만 호출되는것이 아니라 여러 상황에 호출되기 때문에 예외처리를 추가해줘야해요 생명주기 순서를 따져서 홈키인지 아닌지를 판별해야합니다.

    •  댓글주소  수정/삭제 덩치 2015.06.10 18:10 신고

      좋은지적 감사합니다. 이 글을 참고하시는분들은 홈키를 판단하실때 생명주기가 홈키를 눌렀을때와 동일한 주기로 입력됐는지 확인하는 부분을 추가하시면 되겠습니다. 빠른 시일 내 업데이트 하겠습니다.