Android保持屏幕常亮的方法

以前一直使用newWakeLock方法:

        this.powerManager = (PowerManager) this
                .getSystemService(Context.POWER_SERVICE);
        this.wakeLock = this.powerManager.newWakeLock(
                PowerManager.FULL_WAKE_LOCK, "My Lock");

//保持常亮
        this.wakeLock.acquire();

//释放
        this.wakeLock.release();

最近发现FLAG_KEEP_SCREEN_ON更方便

public class MainActivity extends Activity{

@Override
protectedvoid onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

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

}
}

这个方法的好处是,与wakelocks不同 ,它不需要具体的权限,并且在换不同应用程序的操作中,系统会管理,不必担心没有释放的未使用的资源。

你并不需要清除FLAG_KEEP_SCREEN_ON标志,除非你不再需要在屏幕上停留在你运行应用程序。当应用程序进入后台或返回到前台发生,窗口管理器负责保障正常的事件处理,但是如果你明确的想要清除这个标致,从而允许屏幕熄灭,可以使用clearFlags()。

如下:

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

另一种方式:在XML文件中,使用android:keepScreenOn属性

<relativelayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">
  ...
</relativelayout>

这个设置android:keepScreenOn="true"等同于FLAG_KEEP_SCREEN_ON。

时间: 2024-08-01 10:45:37

Android保持屏幕常亮的方法的相关文章

Android保持屏幕常亮

Android保持屏幕常亮,PowerManager.WakeLock的使用 package com.hebaijun.wakelock;      import android.app.Activity;   import android.os.Bundle;   import android.os.PowerManager;      public class WakeLockActivity extends Activity {       PowerManager.WakeLock wa

Android保持屏幕常亮唤醒状态

第一步:  首先添加权限: <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 第二步:代码实现如下: public class ScreenActivity extends Activity { PowerManager powerManager = null; WakeLock wakeLock = null; @Override protected

Android保持屏幕常亮的三种方法

好长时间没写Blog了,最近又要实现类似功能,每次都百度去找不是很方便,还是在自己的blog上记录一笔吧! 方法共有三种: 1.申请亮屏锁 pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE); //得到电源管理器对象 wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK, "TEST");

Android实习札记(2)---妙用View的keepScreenOn保持屏幕常亮

Android实习札记(2)---妙用View的keepScreenOn保持屏幕常亮 --转载请注明出处:coder-pig 1)什么是屏幕常亮? 直译就是让我们的屏幕一直亮着呗,手机通常都带有省电模式什么的,比如设置无操作后,15秒 屏幕自动关闭,如果恰好我们的程序正在执行一些操作的话,突然的屏幕关闭可能会带来一些问题; 比如,应用正在安装或者应用正在更新,下载,处理数据等,于是乎,我们在特定的时候,需要让手机屏幕 保持光亮,那么要怎么让屏幕常亮呢? 2)怎么让屏幕常亮? 主流的两个方法: ①

New UI-妙用view的keepScreenOn属性保持屏幕常亮

New UI-设置View的可见与不可见  --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http://blog.csdn.

Android:设置APP全屏、横屏、竖屏、常亮的方法

全屏 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏 横屏(两种) 1.修改Activity的onR

android细节保持手机屏幕常亮不锁屏

今天做项目用到了一个非常有意思的东东,上网查了下资料,需求是点击某一个键使屏幕常亮不锁屏. 试了几种,发现下面这种写法最简单, getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

屏幕常亮的控制

1.编写一个安卓程序,在程序中可以选择是否保持屏幕常亮(设置为“是”为常亮,“否”为跟随系统),程序退出或最小化时不会保持屏幕常亮,代码越简练越好,谢谢了 onCreate(){     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  } onStop(){     getWindow().removeFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_O

保持手机屏幕常亮无需权限

最近遇到一个项目,运行起来后发现手机屏幕一直常亮,网上搜到有两种方法,但是都没有解决问题 第一种方法: 大家想一想,我们在android里那个地方老是常定义权限呀,有了这个提示,大家就会想到是哪个文件了吧,AndroidManifest.xml:我们要在这个文件里定义一下权限就可以实现我们的手机屏幕保持常亮了.这个方法也是最简单的一个方法,那么我们下面就来看看它的代码: Java代码: 01.<uses-permission android:name="android.permission