公司有Android设备,通过Intent.ACTION_SHUTDOWN广播可以接收到系统关机事件,收到此事件我会写日志保存到文件,有时候,我想知道是用户手动关机的,还是设备有问题自动关机的,这怎么办?最好的办法就是获取电源键的长按事件,如下:

 val receiver = object: BroadcastReceiver() {override fun onReceive(context: Context?, intent: Intent?) {Log.i("ABCD", "收到了一个广播: ${intent?.action}")intent?.extras?.keySet()?.forEach {Log.i("ABCD", "$it = ${intent.extras?.get(it)}")}}}registerReceiver(receiver, IntentFilter().apply {addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)addAction(Intent.ACTION_SCREEN_OFF)addAction(Intent.ACTION_SCREEN_ON)})
  • ACTION_SCREEN_OFF:屏幕熄灭了
  • ACTION_SCREEN_ON:屏幕亮了
  • ACTION_CLOSE_SYSTEM_DIALOGS:可以获取到屏幕熄灭、按了Home键、最近任务键、长按电源键,通过intent.getStringExtra(“reason”)来区分,值和对应含义如下:
  • lock 熄屏,公司有台android设备是dream
  • homekey Home键
  • recentapps 最近任务键
  • globalactions 长按电源键

当然,如果要监听电源长按事件,只注册Intent.ACTION_CLOSE_SYSTEM_DIALOGS这个广播就够了。至于监听电源的单击事件,至今仍然下落不明!

监听电源键的单击或长按事件相关推荐

  1. Android中监听电源键长按、Home键、Home键长按

    Android中监听"电源键长按"."Home键"."Home键长按" 这几个"按钮"的触发,都会产生一个Action ...

  2. 增加按键功能(Camera按键)。确认OK键和挂断ENDCALL能在工模按键测试时正常使用。挂断键日常是电源键,监听power键

    配好键值后在override/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java ...

  3. react 监听组合键_投资组合中需要的5个React项目

    react 监听组合键 You've put in the work and now you have a solid understanding of the React library. 您已经完 ...

  4. android全局监听onkeydown,Android中的几个onTouch()事件、onKeyDown监听返回键无效

    Android中的几个onTouch()事件.onKeyDown监听返回键无效 一:Android中的几个onTouch()事件 继承SimpleOnGestureListener,HahaGestu ...

  5. 在Android中实现监听 返回键,主键,菜单键

    一.监听 返回键 onKeyDown方法和onBackPressed方法 onKeyDown: 是当某个按键被按下是触发.所以也有人在点击返回键的时候去执行该方法来做判断.(该方法只是android ...

  6. Android 监听Home键

    2019独角兽企业重金招聘Python工程师标准>>> 游戏需要统计用户退出游戏是按的返回键还是home,因为返回键是自己cocos2dx做的监听,所以这里说一下android Ac ...

  7. android注册广播监听按钮,Android实现广播监听HOME键操作

    先写了个Service,在服务中通过广播来监听HOME键操作: public class HomeService extends Service{ private MonitoHomeReceiver ...

  8. Android 监听home键(android:launchMode=singleTask 与 onNewIntent(Intent intent) 的用法

    android:launchMode="singleTask" 和 onNewIntent(Intent intent)两个特性,现总结一下经验: android:launchMo ...

  9. android动态加home,Android 解决监听home键的几种方法

    Android 解决监听home键的几种方法 前言: 以下两种方法可以完美解决监听back键,home键,多任务键(最近任务键). 一.使用注册广播监听home键.多任务键 演示图 创建一个广播代码如 ...

  10. android 应用监听home键,Android 监听Home键

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. private final BroadcastReceiver homeRece ...

最新文章

  1. 人工智能:深层神经网络
  2. 主键策略UUID升级
  3. 完善Linux/UNIX审计 将每个shell命令记入日志
  4. 小明分享|基于VSCode Espress IDF软件环境搭建
  5. android数字累加,Android自己设置View之数字自动增长
  6. 用python自动发邮件_Python实现向QQ群成员自动发邮件的方法
  7. 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<流程挂起与激活篇>
  8. 项目Alpha冲刺--9/10
  9. 算法训练 纪念品分组(java)
  10. google浏览器打开关闭标签
  11. C#多态 (小结转载)
  12. 优秀的jquery插件
  13. Visual C++ 6.0下载安装及编写第一个C程序
  14. box-sizing: border-box的作用
  15. python简易搭建环境_在Windows上搭建Python2.7环境
  16. CentOS8 防火墙设置
  17. spark提交python程序_Spark任务提交(Spark Submit)
  18. 完美解决双飞燕血手鼠标宏权限修改
  19. ios 蓝牙对战实现
  20. 【零基础学WebGL】矩阵变换

热门文章

  1. 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
  2. 华为mate7android版本,华为Mate7升级安卓6.0(EMUI4.0)M版本详细图文教程
  3. 年记 2018,新年快乐
  4. 华为云ManageOne北向对接之基本名词概念(一)
  5. 静态分析android程序之阅读smali代码
  6. Unity打安卓包 Android 所有错误解决方案大全(几乎囊括所有打包错误 )
  7. cf----2019-10-28(Sad powers,Zebras,Not simply beatiful strings)
  8. python实现全网搜索_用Python实现一个大数据搜索引擎
  9. ssms管理linux数据库,使用 SSMS 管理 Linux 上的 SQL Server - SQL Server | Microsoft Docs
  10. 【支持MSP430G2553】MSP430+BSL烧写教程