Android HOME键,BACK键的捕获与响应,kotlinandroid开发教程

exitAction();

return true;

} else

return super.onKeyDown(keyCode, event);

}

HOME和APP_SWITCH比较复杂,尤其是HOME键,如果不特殊设置,有可能会被恶意应用利用。所以即使是处理了HOME键,实测会首先进入Launcher,一段时间后才会执行我们的操作,想必这也是系统层从安全角度的考量,有时间看一下系统源码。

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

@Override

protected 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();

}

}

2.DISABLE_KEYGUARD


AndroidManifest.xm

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享

l加权限:

Activity处理:

public class Main extends Activity {

public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);

setContentView(R.layout.main);

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

// KeyEvent.KEYCODE_HOME KeyEvent.KEYCODE_APP_SWITCH

if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_HOME)

return true;

else

return super.onKeyDown(keyCode, event);

}

}

3.Frameworks源码修改


Android中的Home Key,Power Key默认都是由系统的Framework来响应,如果想让自己的应用捕获响应,该怎么做呢?

Home Key比较简单,不涉及系统源码修改:

学习宝典

对我们开发者来说,一定要打好基础,随时准备战斗。不论寒冬是否到来,都要把自己的技术做精做深。虽然目前移动端的招聘量确实变少了,但中高端的职位还是很多的,这说明行业只是变得成熟规范起来了。竞争越激烈,产品质量与留存就变得更加重要,我们进入了技术赋能业务的时代。

不论遇到什么困难,都不应该成为我们放弃的理由!

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典!包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

Android HOME键,BACK键的捕获与响应,kotlinandroid开发教程

【算法合集】

Android HOME键,BACK键的捕获与响应,kotlinandroid开发教程

【延伸Android必备知识点】

Android HOME键,BACK键的捕获与响应,kotlinandroid开发教程

【Android部分高级架构视频学习资源】

g-8l9lgm5X-1640664017786)]

【算法合集】

[外链图片转存中…(img-O1iM1uka-1640664017809)]

【延伸Android必备知识点】

[外链图片转存中…(img-6AiD08Gb-1640664017810)]

【Android部分高级架构视频学习资源】

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

上一篇:Python函数基础


下一篇:12、常用的键盘事件