想做个锁屏界面很久了,最近一周,历经千辛万苦,越过种种挫折,终于完美实现了这一要求,在此将锁屏思路分享出来,

注意:这不是什么一键锁屏,是类似“go锁屏”那样的锁屏界面。

准备:本程序共需要

两个activity:home、main。

一个service:myService

一个receiver:bootReceiver

一个layout:layout

其中home作为屏幕home键专用的activity,main则是主要的展示锁屏界面的activity。

service用于接收锁屏/解锁广播,layout则是main所需要展示的界面。

思路:

!注意:以下代码没有顺序联系,具体请参考源码!

1,给程序添加服务,当此服务接收到 锁屏/解锁广播 时,关闭系统锁屏界面,打开自己的锁屏界面。

关键代码:

/onReceive中:

keyguardManager = (KeyguardManager)context.getSystemService(context.KEYGUARD_SERVICE);

keyguardLock = keyguardManager.newKeyguardLock("");

keyguardLock.disableKeyguard();//解锁系统锁屏

startActivity(toMainIntent);//跳转到主界面

注意,上面的代码需要注册权限:

另外,为了防止主界面被重复调用,我们在设置intent时还要加上一些filter:

//设置myservice中intent的filter

toMainIntent = new Intent(myService.this, Main.class);

toMainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//这个flags表示如果已经有这个activity,则将已有的提到栈顶,否则新建一个activity。

复制代码

//在manifest中讲主界面的启动模式更改为:singleTask,功能和上面的“Intent.FLAG_ACTIVITY_NEW_TASK”类似

android:name="com.example.screenlocker.Main"

android:label="@string/app_name"

android:launchMode="singleTask" >

复制代码

当然,我们还可以在onDestroy中设置服务重启,以保证此服务一直在后台运行

复制代码

@Override

public void onDestroy() {

super.onDestroy();

unregisterReceiver(screenReceiver);

//重启此服务

startActivity(new Intent(myService.this,myService.class));

}

复制代码

将一些其他的事项,如注册服务、在主界面中启动服务等设置完成后,我们可以run一遍了~

如果没出错,那么解锁后首先打开的将是我们的锁屏界面,android解锁界面开发分分钟教你做锁屏软件》(https://www.unjs.com)。

2,实现了锁屏,但是还有一个问题,当按返回键或者home键的时候,我们的界面就轻易被KO了。别担心,咱们一一屏蔽他们。

首先,拿返回键开刀:只需要在主界面中添加如下代码即可:

复制代码

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

switch (keyCode) {

case KeyEvent.KEYCODE_BACK:

return true;

}

return super.onKeyDown(keyCode, event);

}

复制代码

可是,home键并不能通过此方法屏蔽或者捕捉。这对程序猿来说是个很头疼的问题,在网上也有各种解决的办法,但是笔者参考总结,决定用“GO锁屏”的方式来实现:

这种办法的思路是:把自己的程序设置为系统主屏幕!这样,本来按home键是要转到主屏幕的,设置好后,按home键则直接跳转到我们的界面里来了!

好了,让我们新建一个activity,命名为“home”,用来抢夺home键。然后在manifest中设置如下:

复制代码

复制代码

这样,当按home键的时候,如果是在main界面按的,系统不做反应。如果是在其他时候按下home键,就会跳转到这个activity中来。

(首次运行时,会让你选择按home键跳转到“主屏幕”或者“test1(咱们自己写的程序的appName)”)

也就是说,我们已经实现了锁屏界面对home的屏蔽。如果是在非锁屏状态下按home,就会调用home界面。我们只需在home界面里如此设置即可:

onCreate(){

跳转到系统主屏幕;//具体代码见下文

finish();//结束这个activity

笔记本android启动画面,android解锁界面开发分分钟教你做锁屏软件 -电脑资料相关推荐

  1. android锁屏软件屏蔽状态栏下拉

    1.做锁屏软件,锁屏软件具体界面的实现不说,在屏蔽通知栏下拉的时候就出现问题了.网上找了一些资料,可以通过statusbarmanager这个类来实现,由于这个类是系统隐藏的,所以我们很容易就想到使用 ...

  2. Android 9.0系统源码_SystemUI(六)滑动锁屏的创建

    一.前言 前面几篇文章大致介绍了SystemUI的两个模块,StatusBar和QuickSetting,这篇文章开始分析Keyguard模块. 对于锁屏呢,需要有个基本认知,它分为两类,一是滑动锁屏 ...

  3. android 魔力锁屏,锁屏软件横评:锁屏功能PK_Android软件合辑_软件合辑_太平洋电脑网PConline...

    三.功能设置 GO锁屏:除了以上两个评测项目设计的设置之外,GO锁屏还可以设置开启锁屏提示音.解锁提示音及解锁震动.在设置中可以设置锁屏开启或关闭. 其他功能设置 魔力锁屏:魔力锁屏可以启用音量键唤醒 ...

  4. Android 锁屏软件MemoryDebris测试报告

    目 录 项目基本信息. 1 第1章         引言 1.1        编写目的 1.2        项目背景 1.3        参考资料 1.4        术语和缩略语 第2章   ...

  5. 基于Android实现的锁屏软件APP

    源码及论文下载:http://www.byamd.xyz/tag/android/ 一.概述 1.1 选题背景 首先现在各种安卓的游戏和APP充斥应用市场,但是创意还是有的. 首先,锁屏软件虽然不是一 ...

  6. Android锁屏软件

    需求描述:锁屏软件就是点击应用然后直接锁屏,不会弹出任何界面 设计思路:应用启动以后通过getSystemService获取系统的服务,调用安卓系统的DevicePolicyManager和Compo ...

  7. Android 锁屏软件

    一款锁屏软件app,直接上代码: 先顶一个一个服务,用来管理服务 package com.alva.system.myapp;import android.app.admin.DeviceAdminR ...

  8. android 锁屏软件的软件的开机自启动

    最近在搞锁屏软件,一个问题是如何在用户关机的情况下,开机后让自己的锁屏软件优先级到最高,也就是说手机启动时自己的软件是第一个启动的, 查了查 需要root权限. 做个记号.梯子:点击打开链接

  9. android 启动画面广告,浅谈APP启动界面广告

    App启动页,也称闪屏页,最初是为缓解用户等待Web/iOS/Android App数据加载的焦虑情绪而出现,后被设计师巧妙用于品牌文化展示,服务特色介绍以及功能界面熟悉等平台进行设计,被赋予了更加丰 ...

最新文章

  1. C#关于值类型和引用类型的备忘
  2. 谈谈大家对PHP框架的各种误解
  3. PLSQL 使用技巧汇总贴(一个坑)
  4. 生成ftp文件的目录树
  5. An example of using Pandas for regression
  6. 基于javaSwing+文本存储的学生信息管理系统设计实现
  7. python的empty函数_python中numpy.empty()函数的用法
  8. mysql链接压测_MySQL压测工具mysqlslap的介绍与使用
  9. Spring : Spring AOP源码解析
  10. java heapdump 分析工具_Java Heap dump文件分析工具jhat简介
  11. java查重_【java】查重类的实现
  12. oracle event   设置 alter system set events
  13. linux下,Telnet连接输入正确的用户名和密码后,却还一直提示输用户名和密码,解决方案。
  14. python数据分析与可视化
  15. 如何用matlab画旋转面,基于MATLAB在旋转面及其方程教学中应用的教学设计
  16. 百问网物联网智能家居学习笔记day6
  17. 热那亚中文离线地图App上线
  18. 甲方乙方项目管理的差别
  19. 基于springboot地方旅游系统的设计与实现
  20. 神经网络解决推荐系统问题(NCF)

热门文章

  1. Python 版 Instance Activator
  2. android九宫格菜单,Android实现九宫格 主界面应用列表效果
  3. JavaScript day8
  4. pc服务器e7系列,浪潮服务器领跑多路高端市场
  5. python(10.30)
  6. @Autowire原理分析
  7. Windows 10微软 正版系统下载
  8. TestFlight 如何获取邀请码
  9. h2 mysql模式_使用H2的MixedMode模式
  10. Linux下的线程池源代码请到下面的链接下载