确认应用需要像游戏或者视频应用一样保持屏幕处于开启状态。最好的方式是在Activity中使用FLAG_KEEP_SCREEN_ON。(and only in an activity, never in a service or other app component)。

For example:

publicclassMainActivityextendsActivity{
@Override
protectedvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

这个方法的好处是,与wakelocks不同 (我们将在Keep the CPU On文章中探讨),它不需要具体的权限,并且在换不同应用程序的操作中,系统会管理,不必担心没有释放的未使用的资源。

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

<RelativeLayout
xmlns: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。无论你使用以上的那种方式,都是最好的。在Activity中设置flag的好处是,它可以清除这个标志,从而可以使关闭屏幕。

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

如下:

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


作者有话说:如果您需要Android中文API,微信扫一扫下面的二维码,Android行业内的良心之选。




更多相关文章

  1. 【android】下载文件至本应用程序的file文件夹或者sdcard
  2. Hybrid App开发问题记录
  3. 用PC应用程序通过USB读写Andriod里面的数据
  4. android中重写onTouchEvent分别实现点击和滑动事件
  5. android 屏幕测试程序 测试R G B三色 和 全黑, 全白5种状态
  6. Android(安卓)自定义对话框(控制大小、位置)
  7. 【Android】几种常见广播监听器(Wifi,亮灭屏,Home键,短信)总结
  8. android 获得当前view在屏幕的坐标
  9. Android(安卓)SDK,ADT,API 版本的对应关系

随机推荐

  1. Android(安卓)使用OPENCV实现图像实时对
  2. android 没有root下实现软件自动更新的一
  3. Android用Intent启动Activity的方法
  4. android 在分享时判断是否安装QQ,微信客
  5. Android(安卓)自定义类库打包jar! 谁说不
  6. Android(安卓)编译系统(三)Main.mk分析
  7. android kill process 杀死进程的方法
  8. [置顶] MTK Android(安卓)编译小结
  9. 谈谈Binder
  10. Android(安卓)开发建立经验分享...