今天作视频播放类,须要保持屏幕常亮。android
因此作一个记录,写下过程ide
首先,设置工具类工具
public class Locker { private static final String TAG = Locker.class.getName(); private Context mContext; private PowerManager.WakeLock mWakeLock; public Locker(Context context){ mContext = context; mWakeLock= ((PowerManager)mContext.getSystemService(Context.POWER_SERVICE)).newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG); } public void lock(){ if(null != mWakeLock && !mWakeLock.isHeld()){ mWakeLock.setReferenceCounted(false); mWakeLock.acquire(); } } public void unlock(){ if(null != mWakeLock && mWakeLock.isHeld()){ mWakeLock.release(); } } }
而后在须要常亮的地方调用ui
通常就是视频控件初始化的地方视频
mLocker = new Locker(getApplicationContext()); mLocker.lock();
最后还须要在生命周期里生命周期
@Override protected void onDestroy() { super.onDestroy(); if (mLocker != null){ mLocker.unlock(); } }
最重要的是不要忘记添加权限get
<uses-permission android:name="android.permission.WAKE_LOCK" />