PowerUtil.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package me.yoqi.app.wxredpacket.utils;
  2. import android.app.KeyguardManager;
  3. import android.content.Context;
  4. import android.os.PowerManager;
  5. /**
  6. * Created by Zhongyi on 1/29/16.
  7. */
  8. public class PowerUtil {
  9. private PowerManager.WakeLock wakeLock;
  10. private KeyguardManager.KeyguardLock keyguardLock;
  11. public PowerUtil(Context context) {
  12. PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
  13. wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP,
  14. "HongbaoWakelock");
  15. KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
  16. keyguardLock = km.newKeyguardLock("HongbaoKeyguardLock");
  17. }
  18. private void acquire() {
  19. wakeLock.acquire(1800000);
  20. keyguardLock.disableKeyguard();
  21. }
  22. private void release() {
  23. if (wakeLock.isHeld()) {
  24. wakeLock.release();
  25. keyguardLock.reenableKeyguard();
  26. }
  27. }
  28. public void handleWakeLock(boolean isWake) {
  29. if (isWake) {
  30. this.acquire();
  31. } else {
  32. this.release();
  33. }
  34. }
  35. }