`
lvzun
  • 浏览: 57561 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

关于Android屏幕解锁与持续开亮

阅读更多

有一个关于UI的测试需要模拟一些按键事件,但是emulator刚启动总是处于lock状态,这样发出去的event总是报出异常:

java.lang.SecurityException: Injecting to another application requires INJECT_EVENT permission

因为当前处于锁屏界面而不是目标界面,当一个应用程序试图在其他应用程序上面发送模拟事件时,并且没有加入权限:

android.permission.INJECT_EVENTS

就会报错。当然我在这里不需要加这个权限,因为我的目的不是要在其他的应用程序上去发送模拟的事件,所以我必须想办法用程序把这个屏幕打开并解锁。这里有2个问题,第一是要打开并解锁屏幕,第二是要让屏幕保持开亮状态。

一,如何用代码打开并解锁屏幕?

    KeyguardManager km = (KeyguardManager)mContext.getSystemService(Context.KEYGUARD_SERVICE);    
    km.newKeyguardLock("Tag For Debug").disableKeyguard();    
 使用这段代码,即使是出于黑屏状态,也可以自动将屏幕打开并解锁。

二,如何保持屏幕开亮?这里大概有2中常用的方法:

1. 使用FLAG_KEEP_SCREEN_ON:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  

 2. 使用WakeLock:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);      
PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tag For Debug");      
mWakeLock.acquire();  

 使用这种方法还要注意调用释放代码:

 

mWakeLock.release();  
 最好就是在onResume() 和onPause()里面去做。
分享到:
评论

相关推荐

    Android自动解锁实例

    为了实现自动解锁,首先需要在AndroidManifest.xml文件中声明相应的权限,例如`android.permission.WAKE_LOCK`用于保持CPU运行不休眠,以及可能的`android.permission.DISABLE_KEYGUARD`来禁用屏幕锁。 2. **唤醒锁...

    安卓Android源码——android 滑动解锁实现源代码.rar

    在安卓(Android)系统中,滑动解锁是用户与设备交互的基本功能之一,它为用户提供了一种简单且直观的方式来解锁屏幕。本资源“安卓Android源码——android 滑动解锁实现源代码.rar”包含了一个名为“LockScreen1.2...

    滑动解锁(android)

    滑动解锁是Android平台上一种常见的安全验证方式,它模仿了支付宝等知名应用的九宫格滑动解锁设计,为用户提供了一种便捷且直观的解锁体验...同时,不断优化和改进,使其更加符合用户需求,是滑动解锁持续发展的关键。

    Android 图案解锁之九宫解锁源码.zip

    【Android图案解锁之九宫解锁源码】 在Android操作系统中,图案解锁是一种常见的用户认证方式,它通过用户在9个点构成的九宫格中绘制特定的连线图案来解锁设备。这种方式不仅简单直观,还提供了良好的用户体验。本...

    Android自定义锁屏实现----仿正点闹钟滑屏解锁

    "Android自定义锁屏实现----仿正点闹钟滑屏解锁"这一主题,旨在教你如何创建一个类似“正点闹钟”应用中的滑动解锁功能。下面将详细解释实现这个功能所需的知识点: 1. **Android权限**:首先,你需要在...

    Android高级应用源码-Android滑动解锁.zip

    【Android滑动解锁机制】 在Android系统中,滑动解锁是一种常见的用户界面元素,用于保护设备的安全性。这种解锁方式允许用户通过在屏幕上滑动手指来解锁设备,通常结合PIN码、图案或密码提供额外的安全层。在...

    【Android】精美锁屏效果(滑动解锁)

    1. `View`与`MotionEvent`: 在Android中,滑动解锁主要是通过监听用户的触摸事件来实现的。`View`是Android图形用户界面的基本构建块,而`MotionEvent`则表示用户对屏幕的触摸动作,如按下、移动和释放等。 2. `...

    Android 屏幕保护源码

    本文将深入探讨Android屏幕保护源码的相关知识,包括锁屏功能的实现、屏蔽Home键、返回键以及挂机键的技术细节。 1. **锁屏界面设计** - Android中的锁屏界面主要由`Activity`或者`Service`实现,通常是一个全屏...

    android滑动解锁

    在Android系统中,滑动解锁是一种常见的用户界面(UI)元素,它允许用户通过在屏幕上滑动手指来解锁设备。这种交互方式增强了用户体验,因为它的直观性和流畅性。本篇文章将深入探讨Android滑动解锁机制及其相关知识...

    实用源码——Android屏幕锁源码.zip

    【Android屏幕锁源码解析】 Android屏幕锁是保护设备安全的重要功能,它防止未经授权的用户访问设备中的数据。本源码提供了一个实用的Android屏幕锁实现,有助于开发者深入理解屏幕锁定机制并进行自定义开发。这里...

    android屏幕密码锁源码

    本文将深入探讨Android屏幕密码锁的实现原理,并以"NumberLock"为例,解析其源码,帮助开发者理解如何创建自定义的数字密码锁。 首先,屏幕密码锁的基本组件包括锁屏界面、密码验证逻辑以及与系统服务的交互。锁屏...

    Android待机流程分析---锁屏、解锁模块.

    在深入探讨Android系统中锁屏与解锁模块的工作原理之前,我们先来了解一下这些概念的基本背景。Android操作系统作为全球最广泛使用的移动设备操作系统之一,其用户界面(UI)设计和用户体验(UX)优化一直是开发者...

    实用源码——Android屏幕锁源码.rar

    这个压缩包"实用源码——Android屏幕锁源码.rar"提供了一套完整的Android屏幕锁定应用的源代码,可以帮助开发者深入理解屏幕锁的实现机制,并可以作为自定义锁屏应用的起点。以下是基于这个源码包的一些关键知识点:...

    Android 锁屏页面避免被杀掉,解锁会自动关闭页面。防止后台运行时被关闭。

    在Android开发中,保持应用程序在锁屏状态下不被系统优化机制清理,并且在用户解锁后能够自动关闭特定页面,是一项常见的需求。这涉及到Android系统的进程管理、权限控制以及活动生命周期管理等多个方面。以下是对这...

    安卓锁屏九宫格锁屏解锁壁纸相关-android一键锁屏源代码android4.2工作正常.zip

    【标题】"安卓锁屏九宫格锁屏解锁壁纸相关-android一键锁屏源代码android4.2工作正常.zip" 涉及的核心知识点是Android系统的锁屏机制,特别是九宫格锁屏和壁纸的实现。九宫格锁屏是Android系统中一种常见的用户安全...

Global site tag (gtag.js) - Google Analytics