以前一直使用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属性

 

  ...

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

 

更多相关文章

  1. Android(安卓)源码编译
  2. android使用finish()和System.exit()退出应用程序的理解
  3. android 使用广播监听网络状态
  4. Android(安卓)Design Support Library
  5. 基于百度推送android notification的使用之合并通知栏
  6. android 4.0.3 dhcpcd使用方法
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android(安卓)MIFARE读写器详解2
  2. android 自定义命名空间
  3. 搬砖:深入浅出 - Android系统移植与平台开
  4. Android(安卓)Glide图片加载框架图片变色
  5. android 客户端上传到第三方应用市场
  6. ImageLoader源码解析
  7. adb shell 基本命令
  8. Android(安卓)有些视频设置为视频壁纸后
  9. Android(安卓)GridView 异步加载图片
  10. 面向Android微博客户端"Crowdroid2.5.0"