ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-12-28 12:02:01  阅读:230  来源: 互联网

标签:kotlinandroid KeyEvent BACK 学习 源码 HOME Android keyCode


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必备知识点】

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

g-8l9lgm5X-1640664017786)]

【算法合集】

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

【延伸Android必备知识点】

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

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

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

标签:kotlinandroid,KeyEvent,BACK,学习,源码,HOME,Android,keyCode
来源: https://blog.csdn.net/m0_65685940/article/details/122190079

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有