Rexsee API介绍:Android屏幕锁定,Keyguard函数与扩展源码

Android startService 启动自动解锁点亮屏幕 <br />看到一个帖,做的笔记,帖子在:http://topic.youkuaiyun.com/u/20110304/15/ae5279b1-692e-48a7-a5b9-0e579a3a6974.html<br />我想记录的是:<br />做提醒功能的一个服务,自动解锁+亮屏。<br />写一个Activity启动该服务即可,用一个线程开启服务,要是黑屏的状态下启动才有效果。<br /><br />import android.app.KeyguardManager;<br />import android.ap 阅读详情
Android锁屏时会先调用onPause();解锁时调用onResume,读入保存的应用程序的资源。如果运行程序时已经锁屏,应用程序会先调用onCreate(),然后onResume(),再则onPause()。


取消锁屏:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
KeyguardManager mKeyGuardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock mLock = mKeyGuardManager.newKeyguardLock("自己Activity名字");
mLock.disableKeyguard();

也是相当的简单了,但基于Rexsee的API,可以通过一句话搞定。
1. 取消锁屏:window.setTimeout('rexseeKeyguard.disable();alert(\'自动解锁!\');',10000);
alert('请按电源键关屏再开屏看到锁屏画面,10秒后自动解锁。')
2. 启动锁屏:rexseeKeyguard.reEnable();


如下是rexseeKeyguard.java源码
/* 
* Copyright (C) 2011 The Rexsee Open Source Project 
* 
* Licensed under the Rexsee License, Version 1.0 (the "License"); 
* you may not use this file except in compliance with the License. 
* You may obtain a copy of the License at 
* 
*      http://www.rexsee.com/CN/legal/license.html 
* 
* Unless required by applicable law or agreed to in writing, software 
* distributed under the License is distributed on an "AS IS" BASIS, 
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
* See the License for the specific language governing permissions and 
* limitations under the License. 
*/ 
 
package rexsee.core.alarm;  
 
import rexsee.core.browser.JavascriptInterface;  
import rexsee.core.browser.RexseeBrowser;  
import android.app.KeyguardManager;  
import android.app.KeyguardManager.KeyguardLock;  
import android.content.Context;  
 
public class RexseeKeyguard implements JavascriptInterface {  
 
       private static final String INTERFACE_NAME = "Keyguard";  
       @Override  
       public String getInterfaceName() {  
               return mBrowser.application.resources.prefix + INTERFACE_NAME;  
       }  
       @Override  
       public JavascriptInterface getInheritInterface(RexseeBrowser childBrowser) {  
               return this;  
       }  
       @Override  
       public JavascriptInterface getNewInterface(RexseeBrowser childBrowser) {  
               return new RexseeKeyguard(childBrowser);  
       }  
 
       private final Context mContext;  
       private final RexseeBrowser mBrowser;  
       private KeyguardLock mKeyguardLock = null;  
 
       public RexseeKeyguard(RexseeBrowser browser) {  
               mBrowser = browser;  
               mContext = browser.getContext();  
       }  
       public RexseeKeyguard(Context context) {  
               mBrowser = null;  
               mContext = context;  
       }  
 
       //JavaScript Interface  
 
       public void enable() {  
               /*  
               try {  
                       DevicePolicyManager dpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);  
                       dpm.lockNow();  
               } catch (Exception e) {  
                       mBrowser.exception(getInterfaceName(), e);  
               }  
               */  
       }  
       public void reEnable() {  
               if (mKeyguardLock != null) {  
                       mKeyguardLock.reenableKeyguard();  
                       mKeyguardLock = null;  
               }  
       }  
       public void disable() {  
               KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);  
               mKeyguardLock = keyguardManager.newKeyguardLock("");  
               mKeyguardLock.disableKeyguard();  
       }  
 
} 

仅对Rexsee的源码和函数事件做了整理,相关的demo或源码解析可以在Rexsee社区了解,目前Rexsee已提供了近2000个扩展,覆盖Android原生功能超过90%,且全部开放: http://www.rexsee.com/
Android调用密码锁屏校验 1:获取manager KeyguardManager mKeyguardMgr = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { mKeyguardMgr = getSystemService(KeyguardManager.class); } 2:创建intent /** * 跳转锁屏密码校验页面 */ @RequiresApi(api = Buil 阅读详情

相关推荐

基于RK3588的高效音视频对讲系统设计与实现

本文详细介绍了基于RK3588芯片的高效音视频对讲系统设计与实现。文章深入剖析了RK3588在8K编解码、高性能音频DSP及丰富接口方面的优势,并提供了从开发环境搭建、分层软件架构设计,到视频采集编码、音频回声消除及低延迟网络传输的完整实战指南,旨在帮助开发者充分利用该芯片硬件能力,构建稳定、低延迟的实时通信系统。

dapp9builder的博客 255

实现一个Android锁屏App的难点总结

自定义一个漂亮实用的锁屏app,如果能赢得用户的认可,替换系统自带的锁屏,绝对是一个不小的日活入口。这段时间正好总结一下最近调研的Android平台的锁屏app开发中的难点。 一、前言 锁屏的大概实现原理都很简单。监听系统的亮屏广播,在亮屏的时候展示自己的锁屏界面,用户在锁屏界面上进行一系列的动作才能解锁。有的手机启动锁屏界面的过程会很卡...

weixin_34138056的博客 941

BambuStudio学习笔记:OpenCSG - 实时构造实体几何(CSG)渲染的 OpenGL 方案

**OpenCSG** 是一个基于 **OpenGL** 的 **构造实体几何(CSG)** 实时渲染库,通过 **深度剥离算法** 实现布尔运算(并集、交集、差集)的可视化。其核心目标是简化复杂几何体的交互式建模,适用于 CAD 原型设计、3D 打印预览、教育工具等场景。

zzzkk2009的专栏 929

Android Q上三方应用调用disableKeyguard接口带来的问题

概述 今天测试同事报了一个问题,概率性的,不管在什么界面玩手机,玩着玩着,就可能突然跳出来keyguard给把手机锁屏了,拿到手机看了下,测试机没有设置pin/password/pattern,首先猜测是某个三方应用将锁屏禁用掉了, google提供了禁用锁屏的API,但是google已经不建议用了,未来或许会删除 KeyguardManager keyguardManager =...

qq_34211365的博客 4307

解锁医疗AI密码:医疗人工智能专业大学四年学习路径

医疗AI人才培养路径解析 本文系统梳理了医疗人工智能专业四年培养方案,分为基础、进阶、应用和拓展四个阶段: 大一聚焦基础学科,涵盖高等数学、医学概论、Python编程等核心课程,辅以医学数据认知实习。大二深入机器学习和医学数据处理领域,学习监督/无监督学习算法及医学影像分析技术。大三进入深度学习阶段,掌握CNN/RNN等神经网络模型,并实践医疗AI应用开发。大四关注前沿技术如大模型在医疗中的应用,完成毕业设计与企业实习。 课程体系强调医工交叉,每学期均配置实践环节,从基础编程到参与真实医疗AI项目,逐步培养

AllenLV的博客 2501

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 675

java容器 -- java.lang.UnsupportedOperationException

一、错误分析 java.lang.UnsupportedOperationException 大致的意思是,你调用的关于的容器的操作是不被允许的。 注意【思想性的一些东西】: 1.这不是说没有该方法,如果没有该方法的话,在编译期间就可以识别。 2.有该方法,也就是说该方法受到了限制。 3.限制就类似于权限限制之类的东西。(类似于linux 中对于文件权限的管理)。如果list不能实现这

课桌 1万+

Wi-Fi物理帧间隔概念简介

物理帧间隔概念简介。

1042484520@qq.com(邮箱) 1778

android点亮屏幕api,Rexsee API介绍:Android屏幕锁定,Keyguard函数与扩展源码

/** Copyright (C) 2011 The Rexsee Open Source Project** Licensed under the Rexsee License, Version 1.0 (the "License");* you may not use this file except in compliance with the License.* You may obtai...

weixin_35437202的博客 239

PCIe协议之 Equalization篇 之 谈谈几种模式

对于两端有能力最高支持 32 GT/s 及以上速率的设备,如果把目标速度设置为 8 GT/s 或 16 GT/s 速率,是不建议采用 Bypass-Equalization-to-Highest-Rate 模式的,即便采用了,也不会针对 8 GT/s 或 16 GT/s 的目标速率进行 EQ。对于支持 32 GT/s 及以上速率的设备,其可能根本无需工作在 8 GT/s 或 16 GT/s 速率,这时再针对 8 GT/s 或 16 GT/s 速率进行 EQ,多少有点浪费。

那么菜的博客 562

从 Claude Code 到 SAP ADT,vibing-steampunk 把 ABAP 开发带进 Agentic 工程现场

vibing-steampunk(vsp)是一个连接SAP ADT API与AI编码代理的桥梁工具,通过MCP协议实现ABAP开发的自动化。它绕开传统GUI脚本方式,直接利用ADT REST API进行代码读写、调试和部署。该工具提供包分析、边界检查、LUW分析等功能,并创新性地采用Hyperfocused模式和方法级编辑来优化token使用效率。通过上下文压缩技术,vsp能智能提取关键代码片段,显著提升AI处理ABAP代码的精准度,为SAP系统现代化改造提供了高效的技术路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 190

锁屏解锁-KeyguardManager

判断是否锁屏 KM.isKeyguardLocked() 是否锁屏。不管有没有设置密码 KM.isDeviceLocked() 手机锁屏,且需要密码才能解锁 KM.isKeyguardSecure() 如果锁屏,需要密码(比isDeviceSecure 多了个sim锁)才能解锁。此时也可以没锁屏 KM.isDeviceSecure() 如果锁屏,需要密码才能解锁。此时可以没锁屏。 解锁 KeyguardManager.KeyguardLock.disableKeyguard() 描述: KeygaurdLo

weixin_38854248的博客 5189

STM32实战开发(65):STM32摄像头图像采集开发教程

我们将会详细介绍如何使用STM32进行摄像头控制、图像数据采集以及如何将采集到的图像数据传输到其他设备进行处理。通过这篇博客,您将能够掌握STM32与摄像头模块的图像采集技术,应用于各种图像处理场景。为了确保STM32能够正确接收图像数据,我们需要配置STM32的GPIO引脚,并通过外部中断捕获这些信号。为了实现更高效的图像采集,可以通过DMA进行数据传输,将图像数据直接从GPIO引脚存储到内存中。通过DMA传输,我们可以将采集到的图像数据直接存储在内存中的一个缓冲区,然后进行后续的图像处理。

2201_76125393的博客 2537

java.lang.UnsupportedOperationException原因分析及解决

java.lang.UnsupportedOperationException原因分析及解决 前言 今天搬砖时,在使用Array.asList把数组转化 为list时,在对转化的list添加删除数据时,出现了java.lang.UnsupportedOperationException异常信息。 一、原因分析       首先来看下面的代码。 List<String> list = Arrays.asList("Kobe",

一直扫地僧 9476

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

(转)Android中系统自带的锁:WalkLock、KeyguardLock

Android系统自带了两把锁: (1)WalkLock:唤醒锁,点亮屏幕用的 ; (2)KeyguardLock:键盘锁,解锁键盘用的; WalkLock 唤醒锁 (1)WalkLock真的能点亮屏幕吗?   答案是肯定的,可是有时候为什么不点亮屏幕,这个就是参数设置的问题了。   PowerManager.newWakeLock(PowerManager.FULL_WA...

weixin_30549175的博客 982

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android应用代码点亮屏幕并解锁

android 唤醒和解锁屏幕

Jason_Lee155的博客 4488

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android如何打开/关闭系统解锁服务?—典型错误分析

最近正在做一个Android的解锁应用,需要屏蔽系统解锁,并在适当的时候打开系统解锁,在网上search了很多有关系统解锁的资料,学到了很多关于系统解锁方面的知识,同时也发现了很多网友犯下的一个共同的错误。现分享一下: 错误一: 总所周知,要关闭系统自带的锁屏服务需要用到以下代码: mKeyguard = (KeyguardManager) getSystemService(C...

897371388 500

Android开机自启动+屏蔽系统功能

首先是开机自启动,监听系统的BOOT_COMPLETED广播,启动Activity就可以了,这个比较简单。 然后是屏蔽系统功能

大懒蛋的专栏 1485

KeyguardManager介绍

目录 1.Manager获取方法: 2.方法详解: 3.KeyguardManager方法执行流程图: 4.KeyguardLock中方法执行流程: 5.KeyguardLock的disableKeyguard使用限制: 6.isKeyguardLocked注意项: 7.DISABLE_KEYGUARD权限的定义: 1.Manager获取方法: import android.a...

闯荡_脚印 4955

Android 自动解锁 KeyguardManager(键盘管理器)

写一个Activity启动该服务即可,用一个线程开启服务,要是黑屏的状态下启动才有效果。 import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; impor

tony_chen的专栏 6814

android 屏幕设置相关

锁屏设置: 1. 初始值 : 60000 2. 数据库/data/data/com.android.providers.settings/databases/settings.db中         system 表 screen_off_timeout. 3. 开机锁屏, 在frameworks/policies/base/phone/com/android/internal/polic

joans123的专栏 1万+

Android APP一段时间无操作显示屏保

Android TV 视频播放器的屏保

Dawish的专栏 2万+

判断当前是否是锁屏

判断当前是否是锁屏 mKeyguardManager = (KeyguardManager) getActivity().getSystemService(Context.KEYGUARD_SERVICE); if (mKeyguardManager != null && !mKeyguardManager.inKeyguardRest

欢迎加入Android老司机学院 482266514(技术交流群)密码优快云 1543

android中屏幕保护的实现的,Android 屏幕保护程序制做及源码

首先,须要启动一个后台服务,用于注册一个BroadcastReceiverandroid这个BroadcastReceiver用于监听Intent.ACTION_SCREEN_OFFapp这样在发生这个事件Intent.ACTION_SCREEN_OFF 也就是用户锁屏或者屏幕上锁时触发。ideService中注册BroadcastReceiver代码函数package com.pingbao;i...

weixin_39886172的博客 1167
上一篇: Rexsee API介绍:Android WakeLock进程持续,阻止应用休眠
下一篇: Rexsee API介绍:Android定时任务Alarm,附基本的闹钟功能示例
Lafay
博客等级 码龄15年 0粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值