How to detect “Recent Apps” system button clicks (Honeycomb+)

前端 未结 8 752
一个人的身影
一个人的身影 2020-11-30 05:37

I\'m wondering what method this button calls.

\"enter

My game always pauses/re

8条回答
  •  情歌与酒
    2020-11-30 06:09

    I have same problem, i resolved this problem as below.er

    Register button click broadcast for Home and RecentApp

    InnerReceiver mReceiver = new InnerReceiver();
    IntentFilter mFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
    registerReceiver(mReceiver, mFilter);
    

    Now BroadcastReceiver code

    class InnerReceiver extends BroadcastReceiver {
        final String SYSTEM_DIALOG_REASON_KEY = "reason";
        final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
        final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
    
        @Override
        public void onReceive(Context context, Intent intent) {
    
            if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
                String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
                if (reason != null) {
                    if (mListener != null) {
                        if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
                            // Home Button click
                        } else if (reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
                            // RecentApp or Overview Button click
                        }
                    }
                }
            }
        }
    }
    

    But Dont forgot to unregisterReceiver BroadcastReceiver

提交回复
热议问题