public class MainActivity extends Activity { String TAG = "tag"; PowerManager mPowerManager; // 电源控制管理器,比如防锁屏 WakeLock mWakeLock; // 唤醒锁 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 点亮屏幕 acquireWakeLock(30000); // 解锁屏幕 disableKeyguard(true); } // 解锁屏幕 private void disableKeyguard(boolean isDis) { KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("123"); if (isDis) { // 解锁 keyguardLock.disableKeyguard(); } else { // 屏幕锁定 keyguardLock.reenableKeyguard(); } } // 点亮屏幕 public void acquireWakeLock(long milltime) { if (mWakeLock == null) { PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, TAG); mWakeLock.acquire(milltime); } } // 关闭屏幕 public void releaseWakeLock() { if (mWakeLock != null && mWakeLock.isHeld()) { mWakeLock.release(); mWakeLock = null; } } // 屏幕保持常量 private void screenWakeUp(boolean isWakeUp) { if (null == mPowerManager) { mPowerManager = (PowerManager) getSystemService(POWER_SERVICE); } if (null == mWakeLock) { mWakeLock = mPowerManager.newWakeLock( PowerManager.SCREEN_DIM_WAKE_LOCK, getClass().getName()); } if (!mWakeLock.isHeld() && isWakeUp) { mWakeLock.acquire(); } if (mWakeLock.isHeld() && !isWakeUp) { mWakeLock.release(); } } 权限: <!-- 保持唤醒 --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
android 点亮屏幕,解锁,保持常量
猜你喜欢
转载自zheyiw.iteye.com/blog/1852366
今日推荐
周排行