BroadcastReceiver之屏幕锁屏和解锁监听

对于解锁和锁屏这种用的比较频繁action,谷歌做了限制,必须手动用代码注册

直接上代码:这是注册广播

 1 public class MainActivity extends AppCompatActivity {
 2     Screen screen;
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7
 8         screen = new Screen();
 9         IntentFilter filter = new IntentFilter();
10         //添加action
11         filter.addAction("android.intent.action.SCREEN_OFF");
12         filter.addAction("android.intent.action.SCREEN_ON");
13         //注册广播接收者
14         this.registerReceiver(screen,filter);
15     }
16
17     @Override
18     protected void onDestroy() {
19         super.onDestroy();
20         unregisterReceiver(screen);
21     }
 1 public class Screen extends BroadcastReceiver {
 2     @Override
 3     public void onReceive(Context context, Intent intent) {
 4         String action = intent.getAction();
 5         if (action.equals("android.intent.action.SCREEN_OFF")){
 6             System.out.println("屏幕锁屏了");
 7         }else if (action.equals("android.intent.action.SCREEN_ON")){
 8             System.out.println("屏幕解锁了");
 9         }
10     }
11 }
时间: 2024-10-03 21:54:29

BroadcastReceiver之屏幕锁屏和解锁监听的相关文章

屏幕锁屏以及解锁监听

屏幕锁屏以及解锁时会分别发送两个广播SCREEN_ON和SCREEN_OFF,但是这两个action只能通过代码的形式注册才能被监听到,在AndroidManifest.xml中注册根本监听不到. public class ScreenActionReceiver extends BroadcastReceiver { private String TAG = "ScreenActionReceiver"; private boolean isRegisterReceiver = fa

BroadcastReceiver之实现锁屏、解锁样例

好久没有写android的小样例了,因为前几天写了一篇关于Intent.Action的文章(http://blog.csdn.net/ljphhj/article/details/38796739).有朋友私信问我关于ACTION_SCREEN_ON和ACTION_SCREEN_OFF还有ACTION_USER_PRESENT三个Action的使用方法,因为作为一个总结博文,当时并没有具体讲,ACTION_SCREEN_ON和ACTION_SCREEN_OFF仅仅能通过动态注冊的方式(代码内co

BroadcastReceiver之实现锁屏、解锁例子

好久没有写android的小例子了,由于前几天写了一篇关于Intent.Action的文章(http://blog.csdn.net/ljphhj/article/details/38796739),有朋友私信问我关于ACTION_SCREEN_ON和ACTION_SCREEN_OFF还有ACTION_USER_PRESENT三个Action的用法,由于作为一个总结博文,当时并没有详细讲,ACTION_SCREEN_ON和ACTION_SCREEN_OFF只能通过动态注册的方式(代码内conte

安卓开发之动态注册广播(锁屏和解锁案例)

package com.lidaochen.test001; import android.content.Intent; import android.content.IntentFilter; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivit

Android判断屏幕锁屏的步骤总结

总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); boolean isScreenOn = pm.isScreenOn();//如果为true,则表示屏幕“亮”了,否则屏幕“暗”了. 注释已经写的很明白了,现在大概说一下, 屏

Android下屏幕锁屏弹窗的正确姿势

最近在做一个关于屏幕锁屏悬浮窗的功能,于是在网上搜索了很多安卓屏幕锁屏的相关资料,鉴于网上的资料比较零碎,所以我在这里进行整理总结.本文将从以下两点对屏幕锁屏进行解析: 1. 如何监听系统屏幕锁屏 2. 如何在锁屏界面弹出悬浮窗 如何监听系统屏幕锁屏 经过总结,监听系统的锁屏可以通过以下两种方式: 1) 代码直接判定 2) 接收广播 1) 代码直接判定 代码判断方式,也有两种方法: a) 通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (P

Android判断屏幕锁屏的方法总结

转载请注明:http://blog.csdn.net/heroxuetao/article/details/24639203 由于做一个项目,需要判断屏幕是否锁屏,发现网上方法很多,但是比较杂,现在进行总结一下: 总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (PowerManager) context.getSystemService(Conte

在iOS上增加手势锁屏、解锁功能

在iOS上增加手势锁屏.解锁功能 在一些涉及个人隐私的场景下,尤其是当移动设备包含太多私密信息时,为用户的安全考虑是有必要的. 桌面版的QQ在很多年前就考虑到用户离开电脑后隐私泄露的危险,提供了“离开电脑自动锁定”或者“闲置锁定”等类似功能,具体我也忘了. 而在iPhone版的QQ上,也提供了手势锁的功能.如下图: 我在上一篇博文中简单提到如何根据手指移动画线条,而这里是进一步的版本,仍然只是粗糙原型: 具体的代码实现如下: [cpp]  //  //  ViewController.m  //

TTY锁屏与解锁

今天在tmux中使用vim时,不小心按了CTRL+S,结果整个vim不能使用了,在网上查到这里会有锁屏的问题,具体如下: 在tmux中,按CTRL+S,锁屏,按CTRL+Q,解锁.与系统的锁屏和解锁是一样的. 参考如下: http://www.unixresources.net/linux/clf/office/archive/00/00/37/27/372701.html#top http://blog.chinaunix.net/uid-8194676-id-2513202.htmlTTY锁