Android中屏蔽 电源键长按、Home键、Home长按(1)

本文介绍了如何在Android应用中使用BroadcastReceiver处理Home键和长按事件,同时提供了2024年Android开发的学习资料,涵盖了基础到高级技术,包括面试真题、进阶课程和实战项目,旨在帮助开发者提升技能和准备面试。
摘要由CSDN通过智能技术生成

“Home键”(homekey)

“Home长按”(recentapps)

我们可以使用广播来实现,如:

[java]  view plain copy print ?

  1. package com.jumpinus.test;

  2. import android.app.Activity;

  3. import android.content.BroadcastReceiver;

  4. import android.content.Context;

  5. import android.content.Intent;

  6. import android.content.IntentFilter;

  7. import android.os.Bundle;

  8. public class MainActivity extends Activity {

  9. private MyBroadCastReceiver myBroadCastReceiver;

  10. @Override

  11. protected void onCreate(Bundle savedInstanceState) {

  12. // TODO Auto-generated method stub

  13. super.onCreate(savedInstanceState);

  14. myBroadCastReceiver = new MyBroadCastReceiver();

  15. }

  16. @Override

  17. protected void onResume() {

  18. // TODO Auto-generated method stub

  19. super.onResume();

  20. IntentFilter intentFilter = new IntentFilter();

  21. intentFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);

  22. System.out.println(“I’m coming, myBroadCastReceiver注册了!”);

  23. registerReceiver(myBroadCastReceiver, intentFilter);

  24. }

  25. private class MyBroadCastReceiver extends BroadcastReceiver{

  26. @Override

  27. public void onReceive(Context context, Intent intent) {

  28. //你自己先把 reasons == homekey 和 长按homekey 排除,剩下的做下面的处理

  29. String reason = intent.getStringExtra(“reason”);

  30. if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){

  31. System.out.println("Intent.ACTION_CLOSE_SYSTEM_DIALOGS : " + intent.getStringExtra(“reason”));

  32. if (intent.getExtras()!=null && intent.getExtras().getBoolean(“myReason”)){

  33. myBroadCastReceiver.abortBroadcast();

  34. }else if (reason != null){

  35. if (reason.equalsIgnoreCase(“globalactions”)){

  36. //屏蔽电源长按键的方法:

  37. Intent myIntent = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);

  38. myIntent.putExtra(“myReason”, true);

  39. context.sendOrderedBroadcast(myIntent, null);

  40. System.out.println(“电源  键被长按”);

  41. }else if (reason.equalsIgnoreCase(“homekey”)){  
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

学习宝典

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

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

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

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

【算法合集】

【延伸Android必备知识点】

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

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

FM2OHny-1713224736688)]

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

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android电源键长按事件可以通过监听Intent.ACTION_CLOSE_SYSTEM_DIALOGS的通知来触发。具体来说,当用户电源时,系统会发送一个带有reason参数的广播通知,其reason参数的值为"globalscreen",用于区分电源键长按事件。\[1\] 在Android的框架,PhoneWindowManager类负责处理电源Home的事件。我们可以通过修改PhoneWindowManager类的源码来处理电源的一系列事件。该类的源码路径为frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java。\[2\] 此外,Android还有一个GlobalActions类,其定义了一系列操作的Action接口,包括关机、重启、截屏等功能。我们可以通过继承Action接口的子类来实现自定义的操作。例如,可以通过实现一个RebootAction类来处理重启操作,该类需要继承SinglePressAction和LongPressAction接口,并重写相应的方法来实现按事件的处理逻辑。\[3\] #### 引用[.reference_title] - *1* [Android监听"电源键长按"、"Home"、"Home键长按](https://blog.csdn.net/weixin_33555586/article/details/117596786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [分析Android电源事件并定制电源dialog](https://blog.csdn.net/unclePomelo/article/details/78375350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值