以前一直使用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 4.0.3 dhcpcd使用方法
  2. Android camera调用出现错误解决方法
  3. Android Studio常见错误及解决方法汇总
  4. Android Studio实现Activity生命周期的7个方法Log打印日志信息
  5. Android UI编辑器 Unhandled event loop exception解决方法
  6. Android应用程序使用Localsocket与Linux层通信
  7. android 调用前摄像头进行拍照的方法及完整例子

随机推荐

  1. 屏蔽apk在主界面上的显示
  2. Android(安卓)Build System
  3. android效果图之轮播
  4. Android(安卓)documentation decompile
  5. android 获取rom名称和版本号
  6. LKM Tricks to Android(安卓)Devices,查
  7. 定制apk名字
  8. Android(安卓)Audio代码分析14 - testPla
  9. Android:Activity:打开另外的Activity、参
  10. Android截图功能代码