Android Home键监听

Home键是一个系统的按钮,我们无法通过onKeyDown进行拦截,它是拦截不到的,我们只能得到他在什么时候被按下了。就是通过广播接收者

public class HomeKeyEventBroadCastReceiver extends BroadcastReceiver {

static final String SYSTEM_REASON = "reason";

static final String SYSTEM_HOME_KEY = "homekey";

static final String SYSTEM_RECENT_APPS = "recentapps";

@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_REASON);

if (reason != null) {

if (reason.equals(SYSTEM_HOME_KEY)) {

// home key处理点

} else if (reason.equals(SYSTEM_RECENT_APPS)) {

// long home key处理点

}

}

}

}

}

在Activity中去注册这个广播接收者

receiver = new HomeKeyEventBroadCastReceiver();

registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

在Activity销毁的方法中去取消注册

unRegisterReceiver(receiver);

上一篇 Android Fragment

下一篇 Android HttpClient执行Get和Post请求

Python教程

Python 教程

Tkinter 教程

Pandas 教程

NumPy 教程

Flask 教程

Django 教程

PySpark 教程

wxPython 教程

SymPy 教程

Seaborn 教程

SciPy 教程

RxPY 教程

Pycharm 教程

Pygame 教程

PyGTK 教程

PyQt 教程

PyQt5 教程

PyTorch 教程

Matplotlib 教程

Web2py 教程

BeautifulSoup 教程

Java教程

Java 教程

Web教程

HTML 教程

CSS 教程

CSS3 教程

jQuery 教程

Ajax 教程

AngularJS 教程

TypeScript 教程

WordPress 教程

Laravel 教程

Next.js 教程

PhantomJS 教程

Three.js 教程

Underscore.JS 教程

WebGL 教程

WebRTC 教程

VueJS 教程

数据库教程

SQL 教程

MySQL 教程

MongoDB 教程

PostgreSQL 教程

SQLite 教程

Redis 教程

MariaDB 教程

图形图像教程

Vulkan 教程

OpenCV 教程

大数据教程

R语言 教程

开发工具教程

Git 教程

VSCode 教程

Docker 教程

Gerrit 教程

Excel 教程

计算机教程

Go语言 教程

C++ 教程