美文网首页Android Utils
Android 监听 Home 键

Android 监听 Home 键

作者: 几千里也 | 来源:发表于2017-02-09 13:54 被阅读49次
    private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
    private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
    private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
    private static final String SYSTEM_DIALOG_REASON_LOCK = "lock";
    private static final String SYSTEM_DIALOG_REASON_ASSIST = "assist";
    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            Log.i(TAG, "onReceive: action: " + action);

            if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
                // android.intent.action.CLOSE_SYSTEM_DIALOGS == action
                String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);

                if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {
                    // 短按 Home 键
                    Log.i(TAG, "reason: homekey");
                } else if (SYSTEM_DIALOG_REASON_RECENT_APPS.equals(reason)) {
                    // 长按 Home 键或者 Recent 键
                    Log.i(TAG, "reason: recentapps");
                } else if (SYSTEM_DIALOG_REASON_LOCK.equals(reason)) {
                    // 锁屏
                    Log.i(TAG, "reason: lock");
                } else if (SYSTEM_DIALOG_REASON_ASSIST.equals(reason)) {
                    // Samsung 长按 Home 键
                    Log.i(TAG, "reason: assist");
                } else {
                    Log.i(TAG, "reason: " + reason);
                }
            }
        }
    };

    private IntentFilter mIntentFilter;


        mIntentFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        registerReceiver(mBroadcastReceiver, mIntentFilter);

        if (null != mBroadcastReceiver) {
            unregisterReceiver(mBroadcastReceiver);
        }



相关文章

  • Android监听home键(附带广播的使用)

    如果想监听home键,实现方式有几种第一种方式:Android 对home键的监听,加上了权限,必须取得对处理ho...

  • 【Android 进阶】Android Home 键监听

    Android Home键监听 Android 普通键值可以直接在dispatchKeyEvent()中处理,但H...

  • Android HOME键点击监听实现及思考

    Android手机HOME键的监听一直是个很头疼的问题,系统禁止用户重写HOME键的监听方法,就导致部分手机可能出...

  • Android 监听Home键

    网上有很多监听home键的方法但是有很多都监听不到,今天总结一个相对来说比较方便和简单的方法。 当用户点击系统层级...

  • Android监听home键

    1、在需要监听home键的activity添加广播,生成一个成员变量: private final Broadca...

  • Android 监听 Home 键

  • Android Home 键监听

    之前的一个项目需要监听home键的事件,发现用dispatchKeyEvent无法实现监听,后来查了些资料,才知道...

  • Android 监听Home 键

    对于Home键的监听不是那么容易,因为Home键可以将程序退出放在后台,所以这个事件是直接分发给系统,系统接收到之...

  • Android监听Home键

    调用时注意: 在初始化调用(如onCreate)时添加如下代码: 在程序销毁时(如:onDestroy)时添加如下代码:

  • android监听home键按钮

    关于home键的监听,下面的方法是不管用的, 当然正常的BACK还是可以用的 解决办法就是按home键,系统会发送...

网友评论

    本文标题:Android 监听 Home 键

    本文链接:https://www.haomeiwen.com/subject/byiouttx.html