• Android 监听home键


     
    在低版本 android 中,可以通过重写 onKeyDown()方法,达到监听 Home键,间接实现 Back 键功能。但是在 android 4.0 之后 Home 键的这个重写方式失效。
     
    那么在android4.0之后该如何监听呢
    首先,当用户的操作使一个activity准备进入后台时,onUserLeaveHint方法会像activity的生命周期的一部分被调用。例如,当用户按下 Home键,

    Activity#onUserLeaveHint()将会被回调。但是当来电等系统自动切换activity自动占据前台,Activity#onUserLeaveHint()将不会被回调。

    这个方法用起来存在一定的局限性,因为启动另外一个Activity也会被调用

       @Override
        protected void onUserLeaveHint() {
            super.onUserLeaveHint();
            Log.i(TAG, "onUserLeaveHint");
            finish();
        }
    

      

    另外一种方案是通过系统广播

     final IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
    
            context.registerReceiver(mHomeKeyReceiver, homeFilter);

    动态注册一个广播可以带上ACTION_CLOSE_SYSTEM_DIALOGS的Filter可以监听系统点击按键的广播

    在广播接收中获取bundle,在bundle中获取reason值

    String action = intent.getAction();
    String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
     
    if(reason == "recentapps")//多任务
     
    if(reason == "homekey")//home
  • 相关阅读:
    MySQL5.7的安装配置
    Curl工具的使用
    sublime text配置node.js调试
    Docker windows下安装并搭建Nodejs的webapp
    Django URLs error: view must be a callable or a list/tuple in the case of include()
    Windows下Django环境搭建
    vscode 调试node.js
    python的字节编译
    堡垒机实例以及数据库操作
    Django admin模块无法调用css样式文件
  • 原文地址:https://www.cnblogs.com/yjpjy/p/12212586.html
Copyright © 2020-2023  润新知