目录

  • java版
  • kotlin版本

java版

不需要xml代码,直接java代码注册就好。

public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final IntentFilter filter = new IntentFilter();// 屏幕灭屏广播filter.addAction(Intent.ACTION_SCREEN_OFF);// 屏幕亮屏广播filter.addAction(Intent.ACTION_SCREEN_ON);BroadcastReceiver mScreenInfoReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(final Context context, final Intent intent) {Log.d(TAG, "onReceive");String action = intent.getAction();if (Intent.ACTION_SCREEN_ON.equals(action)) {Log.d(TAG, "screen on");} else if (Intent.ACTION_SCREEN_OFF.equals(action)) {Log.d(TAG, "screen off");}}};registerReceiver(mScreenInfoReceiver, filter);}
}

按锁屏键,测试效果:

kotlin版本

class MainActivity : AppCompatActivity() {companion object {private const val TAG = "MainActivity"}class ScreenReceiver : BroadcastReceiver() {override fun onReceive(context: Context, intent: Intent) {Log.d(TAG, "onReceive: ")var action = intent.getAction()if (Intent.ACTION_SCREEN_ON.equals(action)) {Log.d(TAG, "screen on")} else if (Intent.ACTION_SCREEN_OFF.equals(action)) {Log.d(TAG, "screen off")}}}override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val filter = IntentFilter()filter.addAction(Intent.ACTION_SCREEN_OFF)filter.addAction(Intent.ACTION_SCREEN_ON)var receiver = ScreenReceiver()registerReceiver(receiver, filter)}
}

按锁屏键,测试效果:

Android监听按键锁屏广播相关推荐

  1. Android 监听屏幕锁屏,用户解锁

    最近在做视频播放器的时候,遇到一个问题,在用户播放视频然后锁屏之后,视频播放器仍然在继续播放,遇到类似手机系统状态改变的问题的时候,首先想到了广播(don't call me,i will call ...

  2. Android监听系统广播 和自定义广播遇到的问题

    现在有一个项目需要做一个开机自启动的功能,这个怎么实现呢?一顿咔咔咔百度,发现很多推荐 使用监听系统开机广播BOOT_COMPLETED,CONNECTIVITY_CHANGE 来实现.那好吧  我也 ...

  3. android 手机监听屏幕锁屏,用户解锁

    用到的场景很多,自己发挥 ,废话不多说直接上代码: private classScreenBroadcastReceiverextendsBroadcastReceiver{privateString ...

  4. Android 监听屏幕熄屏亮屏和主动唤醒屏幕

    // 监听熄屏和亮屏需要添加权限 <uses-permission android:name="android.permission.DEVICE_POWER"/> & ...

  5. android 监听锁屏 权限,Android中监听锁屏变化和防止锁屏

    Android app中可能存在某些可视化耗时操作,需要防止锁屏. 一.监听锁屏 添加权限 首先来看如何监听锁屏,使用BroadcastReceivercaset来监听 1.锁屏监听 public c ...

  6. Android锁屏界面监听按键,Android 监听锁屏/开屏事件

    1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2.  BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.AC ...

  7. android 监听屏幕是否锁屏

    今天,简单讲讲如何监听手机屏幕是否锁屏. 实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可 ...

  8. android 强制锁屏代码,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

  9. android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

最新文章

  1. 为什么三维重建才是计算机视觉的最终归宿?
  2. 第三百一十节,Django框架,模板语言
  3. linux yum自动挂载_Linux运维——升级系统相关漏洞
  4. switch语句可以被代替吗_爬楼梯可以代替跑步吗?
  5. 卷积神经网络(CNN)介绍与实践
  6. 大数据_Spark框架_快速上手_word count 案例-功能实现---Spark工作笔记0007
  7. ‘utf-8‘ codec can‘t decode byte 0xb8 in position 0: invalid start byte
  8. CIA的海外间谍,要如何完美避开AI的监控?
  9. imagej边缘提取
  10. 【MySQL数据库】----保姆级MySQL驱动包安装+JDBC编程
  11. msfconsole常用搜索命令search
  12. 计量经济学(七)----自相关性Autocorrelation.
  13. oracle biee资料库,Hello oracle BIEE 资料
  14. 计算机 word 节是什么,Word分节符的含义和使用方法详解-word技巧-电脑技巧收藏家...
  15. Linux Opencv+zBar二维码识别
  16. 谈古论津丨天津杨柳青年画为何要用娃娃作主题?
  17. [XJTUSE 算法设计与分析] 第五章 回溯法
  18. 在计算机小三号是多少在英语,计算机的一些常用英语。
  19. 3d Max安装失败(Microsoft Visual C++ 2010 Redistributable)
  20. 推荐一款全能的跨平台文档格式转换工具 Pandoc

热门文章

  1. python的print输出居中对齐
  2. Java面试之语言基础
  3. 黑客入门——手机wifi定位原理
  4. 以太坊和Hyperledger Fabric之间的差异
  5. FMEA学习(1总概)
  6. DML语言(数据库操作语言)和DQL语言(数据库查询语言)
  7. C++编码规范与指导zt
  8. mysql在cmd下启动及操作
  9. java研发网页数据采集
  10. 敏捷开发 vs 传统开发