今天作視頻播放類,須要保持屏幕常亮。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" />