`
zheyiw
  • 浏览: 1017189 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 点亮屏幕,解锁,保持常量

阅读更多


public class MainActivity extends Activity {

	String TAG = "tag";
	PowerManager mPowerManager; // 电源控制管理器,比如防锁屏
	WakeLock mWakeLock; // 唤醒锁

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 点亮屏幕
		acquireWakeLock(30000);
		// 解锁屏幕
		disableKeyguard(true);
	}

	// 解锁屏幕
	private void disableKeyguard(boolean isDis) {
		KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);

		KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("123");
		if (isDis) {
			// 解锁
			keyguardLock.disableKeyguard();
		} else {
			// 屏幕锁定
			keyguardLock.reenableKeyguard();
		}
	}

	// 点亮屏幕
	public void acquireWakeLock(long milltime) {
		if (mWakeLock == null) {
			PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
			mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
					| PowerManager.ACQUIRE_CAUSES_WAKEUP
					| PowerManager.ON_AFTER_RELEASE, TAG);

			mWakeLock.acquire(milltime);
		}
	}

	// 关闭屏幕
	public void releaseWakeLock() {
		if (mWakeLock != null && mWakeLock.isHeld()) {
			mWakeLock.release();
			mWakeLock = null;
		}
	}

	// 屏幕保持常量
	private void screenWakeUp(boolean isWakeUp) {
		if (null == mPowerManager) {
			mPowerManager = (PowerManager) getSystemService(POWER_SERVICE);
		}
		if (null == mWakeLock) {
			mWakeLock = mPowerManager.newWakeLock(
					PowerManager.SCREEN_DIM_WAKE_LOCK, getClass().getName());
		}
		if (!mWakeLock.isHeld() && isWakeUp) {
			mWakeLock.acquire();
		}
		if (mWakeLock.isHeld() && !isWakeUp) {
			mWakeLock.release();
		}
	}


权限:
    <!-- 保持唤醒 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

分享到:
评论

相关推荐

    Android通知栏消息、点亮屏幕、震动、声音、显示样式

    本篇将深入探讨如何利用Android API创建和管理通知,包括点亮屏幕、震动、播放声音以及自定义显示样式。 1. **创建通知** 创建一个Android通知,我们需要使用`NotificationCompat.Builder`类。首先,实例化一个...

    Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码

    在Android开发中,有时我们需要对设备的屏幕状态进行控制,比如在特定场景下保持屏幕常亮,或者在用户操作后解锁或锁定屏幕。本篇文章将详细介绍如何实现这些功能,并提供相应的代码示例。 1. **Android屏幕常亮/...

    Android中唤醒屏幕

    通过以上步骤,你可以在Android应用中实现代码唤醒屏幕的功能,如闹钟触发时自动点亮屏幕。但要注意,频繁或长时间保持唤醒状态可能会影响用户体验和电池寿命,因此在设计时要权衡功能需求与电池管理。

    android 屏幕点亮时启动acitvity

    在Android开发中,有时我们需要实现一个功能:当设备屏幕被点亮时,自动启动特定的Activity。这个需求通常出现在一些特定的应用场景,比如闹钟应用、提醒服务或者消息通知。本篇将详细介绍如何在Android系统中实现在...

    android滑屏解锁

    - **Android服务(Service)**:解锁功能通常以服务的形式运行在后台,以便在屏幕点亮时立即响应用户的操作。 - **动画(Animation)**:为了提升用户体验,滑动解锁过程通常伴随着平滑的动画效果,这可以通过...

    Android监听屏幕是否锁屏

    2. 创建`WakeLock`:然后,我们需要创建一个`PARTIAL_WAKE_LOCK`类型的`WakeLock`,这将允许处理器运行,但不保持屏幕点亮。代码如下: ```java WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL...

    高通平台点亮屏幕&添加新屏幕

    Qualcomm – Android9.0 一、.XML Configure 1.一些主要的配置 1.0 st7703-720p-video st7703_720p_video 0x29, 0x01, 0x00, 0x00, 0x00 = REGISTER PayloadSize = Number+1 Payload = CMD,DATA,DATA,… ...

    Android亮屏和熄屏控制实例详解

    在`acquire()`方法调用后,屏幕会保持点亮,直到调用`release()`方法。如果希望在一段时间后自动释放`WakeLock`,可以使用`Handler`: ```java Handler mTimeHandler = new Handler(); mTimeHandler.postDelayed...

    Android 10.0 锁屏讲解

    至于亮屏解锁逻辑,当用户唤醒设备时,`PhoneWindowManager`会检测到屏幕点亮事件,然后调用相应的解锁处理方法。这可能包括验证用户的生物识别信息(如指纹或面部识别)、PIN码、图案或密码等。解锁过程的细节取决...

    Android-可帮助您管理Android屏幕状态的类集合

    有多种类型的`WakeLocks`,如PARTIAL_WAKE_LOCK(保持CPU运行)、SCREEN_BRIGHT_WAKE_LOCK(保持屏幕亮起)和FULL_WAKE_LOCK(两者都保持)。 3. **DisplayManager**: 另一个重要类,用于获取和监听设备的显示信息...

    Android应用源码高仿三星GalaxyS4阳光解锁

    当用户将设备从口袋或桌面拿起,如果环境光线变化较大,屏幕会自动点亮并进入解锁界面。这种功能不仅提升了用户体验,也增加了设备的智能性。 要实现这样的功能,开发者需要对Android系统有深入的理解,包括以下几...

    语音解锁 v9.2.8

    语音解锁 大小:11.72MB ...8、设定锁屏等待(即关闭屏幕指定时间内点亮屏幕直接解锁)功能。 9、本软件锁屏和原有锁屏一键切换功能(只需在设置中选择即可快速切换)。 10、完美支持安卓4.0以上系统

    android 屏幕截屏源码分享

    我们可以通过注册一个`AccessibilityService`并监听屏幕点亮、解锁等事件来触发截图: ```xml android:name=".MyAccessibilityService" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"&gt; ...

    Android保持屏幕常亮唤醒状态的方法

    这个权限允许应用在屏幕关闭或设备休眠时保持处理器运行,从而保持屏幕的点亮状态。 接下来,我们将通过代码来实现屏幕常亮。这里我们创建一个名为`ScreenActivity`的Activity,它包含以下关键步骤: 1. 获取...

    android中的屏幕唤醒

    在Android开发中,屏幕唤醒是一项常见且重要的功能,尤其是在需要保持屏幕亮起的应用场景下,如音乐播放器、闹钟应用或运动跟踪应用等。本文将深入探讨如何在Android中实现屏幕唤醒,包括相关的API使用、权限配置...

    ssd1303屏幕点亮程序

    这个"ssd1303屏幕点亮程序"是为了在OLED屏幕上显示出图像或文字而设计的。OLED显示屏因其高对比度、快速响应时间和低功耗特性,常被应用于各种小型电子设备中,如智能手表、便携式设备和嵌入式系统。 程序的描述...

    Android屏幕常亮

    `WakeLock`可以防止设备进入休眠模式,确保CPU保持运行状态,从而保持屏幕亮着。获取`WakeLock`需要以下步骤: - 获得`PowerManager`实例:`PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);` ...

    android接收到蓝牙配对请求时如何点亮屏幕具体实现

    `WakeLock`是`PowerManager`的一个关键组成部分,它确保处理器不会进入休眠模式,从而保持屏幕点亮。 ```java import android.os.PowerManager; // ... private PowerManager.WakeLock mWakeLock; // 在构造函数...

    OLED 屏幕点亮_0.96OLED_

    点亮OLED屏幕的过程涉及到以下几个关键知识点: 1. OLED屏幕结构:OLED屏幕由许多自发光的有机材料层组成,包括阳极、有机发光层和阴极。每个像素都可以独立控制,无需背光,因此对比度高、响应速度快且视角宽。 2...

Global site tag (gtag.js) - Google Analytics