Android 主页键和最近应用键的处理onUserLeaveHint

相比主页键(HOME)和最近应用键(APP_SWITCH)的处理,返回键比较简单,复写onKeyDown就可以实现,如下:

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// KeyEvent.KEYCODE_HOME KeyEvent.KEYCODE_APP_SWITCHif (keyCode == KeyEvent.KEYCODE_BACK) {exitAction();return true;} elsereturn super.onKeyDown(keyCode, event);}HOME和APP_SWITCH比较复杂,尤其是HOME键,如果不特殊设置,有可能会被恶意应用利用。所以即使是处理了HOME键,实测会首先进入Launcher,一段时间后才会执行我们的操作,想必这也是系统层从安全角度的考量,有时间看一下系统源码。

尝试过多种方式之后,复写onUserLeaveHint函数比较便捷,如下即可:

@Overrideprotected void onUserLeaveHint() {//super.onUserLeaveHint();exitAction();}把操作写在了exitAction函数中,,这里以启动设置为例:

private void exitAction() {try {Intent intent = new Intent();ComponentName componentName = new ComponentName("com.android.settings","com.android.settings.Settings");intent.setComponent(componentName);startActivity(intent);} catch (Exception e) {e.printStackTrace();}}我的GitHub:周木水的GitHubhttps://github.com/zhoumushui

人生就是要感受美丽的善良的,丑恶的病态的。

Android 主页键和最近应用键的处理onUserLeaveHint

相关文章:

你感兴趣的文章:

标签云: