最近在搜狗输入法实习,研究了一下android系统的锁屏问题,记录一下,相互学习!

android锁屏分系统自带的锁屏和第三方的锁屏。

1、系统自带的锁屏的修改需要改android源码,不同的手机厂商可以做好自己的锁屏样式然后烧到自己生产的手机中,

如华为,小米...,都有自己风格的锁屏。

2、第三方锁屏的机制是:在手机开关屏幕时,系统会发出ACTION_SCREEN_ON和ACTION_SCREEN_OFF广播,

通过截获这些广播,设置自己的锁屏view并且屏蔽掉home键和back键等,即可实现第三方锁屏。

关于锁屏时类似QQ弹出消息的机制:

参考链接   http://www.eoeandroid.com/thread-540944-1-1.html

http://stackoverflow.com/questions/21852203/android-how-to-completely-disable-keyguard

首先弹出的activity只需重写上面的onAttacedToWindow方法即可;

FLAG_SHOW_WHEN_LOCKED和FLAG_DISMISS_KEYGUARD是关键,这两个替代了以前版本里的KeyguardLock类的功能。

FLAG_DISMISS_KEYGUARD和FLAG_SHOW_WHEN_LOCKED的描述参见android官方文档          http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_DISMISS_KEYGUARD

自己试验后得到的结论为:

FLAG_DISMISS_KEYGUARD可以解除系统不安全的锁屏,比如滑动解锁,安全的锁屏仍需解锁。系统自带的锁屏时没法突破的。

对于第三方的锁屏,比如锁屏精灵、GO锁屏什么的,由于其实现机制为得到广播然后显示view,所以是可以屏蔽掉的。

方法为:

自己写一个service用来截获屏幕关闭和点亮的广播,然后在onReceiver里丢弃掉(abortBroadcast())

这个广播(这个广播好像是顺序广播,可以被丢弃),

另外需要设置自己的这个截获广播的filter的优先级为最高,方法为filter.setPriority(1000);

以上即为类似QQ屏幕弹窗的实现,以及弹窗时锁频的处理。这只是自己的探索结果,可以参考,自己尝试。

android锁屏机制探讨相关推荐

  1. Android锁屏机制原理分析

    转载自:http://www.2cto.com/kf/201401/273898.html 春节前最后几天了,工作上几乎没有什么要做.大致整理下之前工作中写的文档,PPT,手册. 由于去年一年完全转到 ...

  2. AndroidL 开机展示Keyguard锁屏机制初探

    2019独角兽企业重金招聘Python工程师标准>>> 目录 目录 锁屏时序图 开机启动到PhoneWindowManager的systemReady方法 锁屏加载流程 PhoneW ...

  3. Android 锁屏原理,锁屏框架与锁屏开发

    Android框架浅析之锁屏(Keyguard)机制原理 锁屏.状态栏.Launcher---姑且称之为"IDLE"小组,或许叫手机美容小组 1.分析锁屏界面的组成 : 2.基于源 ...

  4. Android锁屏实现与总结

    Android锁屏实现与总结 Android锁屏实现与总结(网易云阅读) 一.自定义锁屏基本原理 二.重要步骤 1.广播注册 2.Activity设置 3.按键的屏蔽 4.滑屏解锁 5.Event b ...

  5. android锁屏显示应用程序,今日应用:微软又给 Android 做了一款锁屏应用

    微软又做了一款 Android 锁屏应用,质量还不错.如果你已经设置了锁屏,Picturesque可能让你再解锁一次你真的需要在锁屏就处理这么多任务吗? 微软又来给 Android 提供应用了,他们昨 ...

  6. [Android] Android 锁屏实现与总结 (一)

    实现锁屏的方式有多种(锁屏应用.悬浮窗.普通Activity伪造锁屏等等).但国内比较主流并且被广泛应用的Activity伪造锁屏方式. 实例演示图片如下: 系列文章链接如下: [Android] A ...

  7. Android 锁屏键和home键分开处理

    在做视频直播的时候遇到一个问题,就是Android锁屏状态下与home键状态下SurfaceView的生命周期发生的改变是不相同的. 因为home键与锁屏的时候activity都会走onPause() ...

  8. android锁屏应用系统排行榜,重塑安卓手机的20大锁屏应用程序

    1. AcDisplay 它是一个简单的设计android锁屏应用程序,以简约的方式处理通知.您可以直接从锁定屏幕访问应用程序.它具有使用传感器唤醒设备的活动模式. 兼容性 - Android 4.1 ...

  9. jQuery仿Android锁屏图案应用

    jQuery仿Android锁屏图案应用 在线演示 本地下载 posted @ 2018-12-03 14:08 栖息地 阅读(...) 评论(...) 编辑 收藏

最新文章

  1. 大数据在犯罪预防中有独特价值
  2. 048_Calendar日历
  3. 字符串工具类---StringUtils
  4. android倒计时功能,Android 实现列表倒计时功能
  5. LeetCode Combination Sum
  6. 如何从ERP将Material的Batch信息下载到CRM
  7. 高性能MySQL(二)
  8. group count聚集函数无法直接统计出分组后的总记录数
  9. Redis哈希数详解
  10. Python内置函数int()高级用法
  11. gis投影中未定义的地理转换_PhotoScan中经纬度转换为投影坐标快捷方法
  12. 驻点、极值点与拐点(判断极值点与拐点的方法)
  13. 在心中刻上你的名字,让思念如烟
  14. 如何用Java画一棵简单的圣诞树
  15. 看山聊 Java:检查日期字符串是否合法
  16. 【VMware】【XShell】从虚拟机下载文件到本地
  17. windows防火墙是干什么的_Windows 之 防火墙
  18. pytorch RuntimeError: size mismatch, m1: [64 x 784], m2: [784 x 10] at
  19. c语言服务器制作,C语言写的简易实用的web服务器
  20. 量子计算机是哪个国家研制出来,万万没想到:最强大量子计算机居然由工业巨头研制出来了...

热门文章

  1. Nginx配置IP白名单和黑名单
  2. 如何查看Windows 10是否被永久激活
  3. 在FL Studio中如何录音
  4. 我的朗科运维第四课(2)
  5. word格式-设置样式
  6. Sketch Mac入门基础知识——蒙版(Mask)的详细使用方法介绍
  7. 《世界上最伟大的推销员》阅读实践
  8. 深入理解统一诊断服务(UDS)ISO14229-1
  9. 打造健康肌肤 PS之古铜色效果制作方法
  10. SDL编程入门(8)几何图形渲染