【如何开发一个锁屏应用】

想要开发一个锁屏应用,似乎很难,其实并没有想象中那么难。

从本质上来说,锁屏界面也只是一个Activity而已,只是这个界面比较特殊,在我们点亮屏幕的时候,这个界面就会出现。

而且在此界面中,我们可以用一些行为来退出,比如点击按钮等。

还有一个特征是在这个界面的时候,我们通常是不能使用底部的三个按钮的

关于如果屏蔽底部的三个按钮,我已经在另一篇博客Android4.0+锁屏程序开发——按键屏蔽篇进行了总结,有需要的朋友可以参看。

这篇博客我们主要讨论如何让一个Activity在屏幕点亮的时候出现,并且不触发系统的锁屏。

【设置自己的锁屏页面】

首先,点亮屏幕的时候,系统会发出一个广播,ACTION_SCREEN_ON,我们可以通过一个BroadcastReceiver来监听这个广播,并启动我们自己的Activity

例如下面的代码:

private BroadcastReceiver screenReceiver = newBroadcastReceiver() {

@Overridepublic voidonReceive(Context context, Intent intent) {

String action=intent.getAction();if (action.equals("android.intent.action.SCREEN_ON") || action.equals("android.intent.action.SCREEN_OFF")) {

startActivity(toMainIntent);

}

}

};

但是,光启动我们的Activity还不够,因为仅仅是启动的话,系统的锁屏还是会出现在界面上,那么效果就变成了,我们解锁了系统的锁屏看到了自定义的界面。

这显然不是我们想看到的,我们想的是当屏幕一点亮就看到我们的界面。

我们可以通过对自定义界面的设置中关闭系统的锁屏来实现这个需求。

代码如下:

protected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);final Window win =getWindow();

win.addFlags(

WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);//解除系统锁屏

setContentView(R.layout.main_layout);

setView();//设置关闭按钮

}

通过上面的设置,我们就可以在点亮屏幕的时候看到自己的界面了。

一个完整的锁屏例子我已经上传到了GitHub上面,地址是:https://github.com/u3shadow/ScreenLocker

有需要的朋友可以进行参考。

通过这两篇博客,我们就可以基本实现一个锁屏应用了,在此基础上,我们可以对自定义界面做更进一步的优化,美化,做出自己理想的锁屏。

此系列就到这里,希望能帮助到大家,谢谢

android锁屏快捷键设置,Android4.0+锁屏程序开发——设置锁屏页面篇相关推荐

  1. uniapp小程序开发设置系统状态栏高度、全屏背景图设置

    效果: uniapp小程序开发设置系统状态栏高度/全屏背景图设置 <view class="login"><view class="status_bar ...

  2. 微信小程序开发——设置默认图片、错误加载图片

    wxml: <image src='{{imgArr[index]==""?defaultImg:imgList[index]}}' binderror="erro ...

  3. 微信小程序开发之全屏显示

    在开发微信小程序的时候,我们会遇到各种坑,但是,这个东东是中国人做的,so...会有很多解决方案来填坑,今天就来填个小程序开发组件全屏的坑. 问题 我的小程序只有一个地图,如下代码,但他不是全屏的, ...

  4. MCSD培训教程70-016 Microsoft Visual C++ 6.0 桌面应用程序开发

    急求:MCSD培训教程70-016 Microsoft Visual C++ 6.0 桌面应用程序开发 书带的光盘内容  有的提供下非常感谢 联系方式:yuanjun224@163.com

  5. android源码编译烧鸡,android4.0源码下载 编译 系统体验~图解

    近来着眼于ANDROID4.0的关注与研究,第一时间把ANDROID4.0源码下 下来了,只是时间问题,所以没能第一时间把过程记录下来,今天算是富裕点时间就给写下来,希望能给灼热于ANDROID继续平 ...

  6. Android4.0的Alertdialog对话框,设置点击其他位置不消失

    Android4.0以上AlertDialog,包括其他自定义的dialog,在触摸对话框边缘外部,对话框消失. 可以设置这么一条属性,当然必须先AlertDialog.Builder.create( ...

  7. android纯净版,纯净版Android4.0系统

    纯净版Android4.0系统 系统方面,ThL W1双核版配备了基于原生的Android4.0操作系统.尽管没有加入更多的自家定制元素,但是凭借着原生Android4.0系统的稳定性,ThL W1双 ...

  8. zte android截屏快捷键,不只是按键 不同品牌不同系统快速截屏方式盘点

    截图是大部分手机用户都有的需求,通过按键来截图适用于大多数手机,同时按下Home键及音量键,即可截下一张完整的屏幕截图,但在有些特殊场景下,双手按键反而有些麻烦,那么还有没有其它可以快速截图又无需占用 ...

  9. [办公应用]word 2007:全屏快捷键,让复制图片保持原样大小(office 全屏快捷键)...

    最近同事咨询这两个问题: 1.word 2007内是否有全屏显示的快捷键,这样投影时,就可以快速切换到全屏. 2.从ppt或者excel复制一张较大的图片,word 2007 会默认让复制的图片缩小, ...

最新文章

  1. 中国芯片研究再获国际顶会最佳论文提名!清华魏少军、刘雷波团队出品
  2. mqtt session保持 订阅消息_MQTT系列 | MQTT消息的发布和订阅
  3. PyTorch随笔-2
  4. 关于线程堆栈大小的注意事项-转
  5. 设计模式—23种设计模式总览
  6. 【Mysql】之基础sql语句模板
  7. mysql主从复制浅析(一)
  8. Linux中断处理“下半部”机制
  9. 单片机常用外设驱动电路
  10. 解读联想重组:终于裁员了
  11. 善用GOOGLE–从入门到精通
  12. 提取视频中的音频——python三行程序搞定
  13. 上拉电阻的作用原理_电容触摸屏原理以及敦泰TP FT5X06驱动
  14. 天津工业大学信息与计算机学院,图象与信息技术研究所
  15. 四川计算机二级时间安排,2020年3月四川计算机二级考试时间
  16. 关于unity打包时出现插件DLL错误: The Assembly UnityEditor is referenced by Population解决方法
  17. 2020软考 信息安全工程师(第二版)学习总结【二】
  18. LightOJ 1319 - Monkey Tradition (中国剩余定理)
  19. 奇异的WinXP与SQL2005报表服务器的身份验证
  20. Linux常用命令:文件及磁盘

热门文章

  1. 传感器检测系统及实训QY-812G
  2. swiftui视频_swiftui视频播放器实时处理核心图像
  3. 如何写好状态机?跑马灯/流水灯Verilog HDL实现
  4. “专车”监管意见最快本月公布
  5. REDIS上如何批量删除KEY?
  6. git cz: Missing script: “test“ To see a list of scripts, run: npm run
  7. k8s mysql 挂载_如何在 Kubernetes 环境中搭建 MySQL(四):使用 StorageClass 挂接 RBD...
  8. python的序列类型
  9. C语言函数大全-- l 开头的函数
  10. 磨刀不误砍柴工-----为提升自己找到一个平衡点