Android保持屏幕常亮的方法

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

以前一直使用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 extendsActivity{

@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。

免责声明:文章转载自《Android保持屏幕常亮的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇阿里AI设计师一秒出图,小撒连连惊呼,真相是...PCIe Max_Payload_Size 和 Max_Read_Request_Size下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android学习之七:使用Container

3.TableLayout:Android 的TableLayout的布局就像Html的表格一样,可以根据我们的说明来安排widgets的位置。我们可以自己控制屏幕的行数和列数,而每列可以根据包含的内容进行伸缩。 通常情况下,TableLayout有多个TableRow组成,每个TableRow就是一行,定义几个TableRow就是定义几行。TableL...

基于Unity的AR开发初探:发布AR应用到Android平台

本文接上一篇,介绍一下如何通过Unity发布第一个AR应用至Android平台,在Android手机上使用我们的第一个AR应用。 一、一些准备工作 1.1 准备Java JDK 这里选择的是JDK 1.8.x版本,可以从这里下载。 1.2 准备Android SDK 这里选择的是R24.1.x-Windows版本,可以从这里下载。 Note:为了减少配置的...

Android之LinearLayout布局下怎么让按钮固定在底部

1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="fill_parent" 4 android...

桌面小部件开发

AppWidgetProvider是android提供实现桌面小部件的类,本质是一个广播,即BroadcastReceiver。是继承关系 开发步骤: 1.在res/layout/下新建一个XML文件,命令为widget.xml,名称和内容可以自定义 <?xml version="1.0" encoding="utf-8"?> <Lin...

如何创建启动界面Splash Screen

启动界面Splash Screen在应用程序是很常用的,往往在启动界面中显示产品Logo、公司Logo或者开发者信息,如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。Android 应用程序创建一个启动界面Splash Screen非常简单。比如创建一个工程MySample,主Acitity就叫MySample...

(appium+python)UI自动化_02_appium启动手机app

前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一、USB连接手机 (1)手机USB连接电脑 (2)手机打开开发者模式、USB调试功能 二、基础信息配置 1,获取设备号 终端获取设备号,指令:adb devices   2,获取apk包名、activity (1)打开...