woong's
Android Home Key Control 하기 본문
Android Home Key Control 하기
안녕하세요. 런쳐 공부를 하다가 홈버튼을 컨트롤 하는 기능을 찾아 정리해 보았습니다.
홈버튼을 제어 할수는 없지만 이벤트를 받을수는 있었습니다.
런처에서 앱 서랍을 이동후 홈버튼을 눌러서 런처 홈으로 이동하는 기능을 만들기
위해서는 홈버튼 이벤트를 캐치해야 합니다.
아래 코드와 같이 BroadcastReceiver 생성후에 등록해주시면 이벤트를 받을수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | package com.handstudio.android.hometest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; public class MainActivity extends ActionBarActivity { static final String SYSTEM_DIALOG_REASON_KEY = "reason"; static final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions"; static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps"; static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); registerReceiver(mBroadcastReceiver,filter); } @Override protected void onPause() { super.onPause(); unregisterReceiver(mBroadcastReceiver); } private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.i("",">>> Home Event"); String action = intent.getAction(); if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY); if (reason != null) { if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) { Log.i("",">>> Home Clcik Event"); } else if (reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) { Log.i("",">>> Home Long Press Event"); } } } } }; } | cs |
'Develop > Android' 카테고리의 다른 글
android PhoneStateListener 여러번 호출되는것 방지하기 (0) | 2016.02.14 |
---|---|
android startActivity 재사용하기 (0) | 2016.02.14 |
Android USIM 존재 여부 확인하기 (0) | 2016.02.14 |
Android 홈버튼 이벤트 받기 (0) | 2016.02.14 |
Android Launcher 만들기(1) (1) | 2016.02.14 |
Comments