Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_MENU) {
- // Do Stuff
- } else {
- return super.onKeyDown(keyCode, event);
- }
- }
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_MENU) {
- // ........
- return true;
- }
- return super.onKeyUp(keyCode, event);
- }
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_MENU) {
- // ...
- return true;
- } else {
- return super.onKeyUp(keyCode, event);
- }
- }
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- //Checking for the "menu" key
- if (keyCode == KeyEvent.KEYCODE_MENU) {
- if (mDrawerLayout.isDrawerOpen(mDrawerList)) {
- mDrawerLayout.closeDrawers();
- } else {
- mDrawerLayout.openDrawer(Gravity.RIGHT);
- }
- return true;
- } else {
- return super.onKeyDown(keyCode, event);
- }
- }
- public class HomeWatcher {
- static final String TAG = "HomeWatcher";
- private Context mContext;
- private IntentFilter mFilter;
- private OnHomePressedListener mListener;
- private InnerRecevier mRecevier;
- public interface OnHomePressedListener {
- public void onHomePressed();
- public void onHomeLongPressed();
- //public void onLockLongPressed();
- }
- public HomeWatcher(Context context) {
- mContext = context;
- mFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
- }
- public void setOnHomePressedListener(OnHomePressedListener listener) {
- mListener = listener;
- mRecevier = new InnerRecevier();
- }
- public void startWatch() {
- try{
- if (mRecevier != null) {
- mContext.registerReceiver(mRecevier, mFilter);
- }
- }catch(Exception e){}
- }
- public void stopWatch() {
- try{
- if (mRecevier != null) {
- mContext.unregisterReceiver(mRecevier);
- }
- }catch(Exception e){}
- }
- class InnerRecevier extends BroadcastReceiver {
- final String SYSTEM_DIALOG_REASON_KEY = "reason";
- final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
- final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
- final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
- //final String SYSTEM_DIALOG_REASON_Lock = "lock";
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
- String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
- if (reason != null) {
- Log.e(TAG, "action:" + action + ",reason:" + reason);
- if (mListener != null) {
- if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
- mListener.onHomePressed();
- } else if (reason
- .equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
- mListener.onHomeLongPressed();
- }
- /* else if (reason
- .equals(SYSTEM_DIALOG_REASON_Lock)) {
- mListener.onLockLongPressed();
- }*/
- }
- }
- }
- }
- }
- }
- public class MainActivity extends Activity {
- private HomeWatcher mHomeWatcher;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- try {
- mHomeWatcher = new HomeWatcher(this);
- mHomeWatcher.setOnHomePressedListener(new OnHomePressedListener() {
- @Override
- public void onHomePressed() {
- Log.e(TAG, "onHomePressed");
- }
- @Override
- public void onHomeLongPressed() {
- Log.e(TAG, "recent apps");
- }
- });
- mHomeWatcher.startWatch();
- } catch (Exception e) {
- }
- }
- @Override
- protected void onResume() {
- super.onResume();
- try {
- mHomeWatcher.startWatch();
- } catch (Exception e) {
- }
- }
- @Override
- protected void onPause() {
- super.onPause();
- try {
- mHomeWatcher.stopWatch();
- } catch (Exception e) {
- }
- }
Add Comment
Please, Sign In to add comment