最近一個項目中有視頻通話功能,需要用到保持視頻通話頁面屏幕常亮,研究了一下實現代碼,現在放出來分享給大家。
第一步、 創建工具類 ScreenUtils.java
/** * 屏幕常亮需要 申請屏幕 WAKE_LOCK 喚醒鎖 權限 * 用下面的方法可以不用這個權限聲明 <uses-permission android:name="android.permission.WAKE_LOCK" /> * * 要在 setContentView(R.layout.activity_video_chat_view); 之前調用下面方法 * **/ public ScreenUtils(Window window) { if (window == null){ return; } // getWindow().setFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, window.setFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //--------------------------------------------------------------------- }
}
第二步、在需要常亮的頁面,調用常亮方法。關鍵代碼看下面紅字,一定要放在 setContentView() 之前調用。
public class VideoChatViewActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//---------------------------------------------------------------------
new ScreenUtils(getWindow()); // 設置屏幕常亮 ,關鍵代碼調用, 一定要放在setContentView() 之前調用 。
//---------------------------------------------------------------------
setContentView(R.layout.activity_video_chat_view);
Log.e(TAG,"onCreate() ----------------------- " );
}
}
第三步、運行一下,看看效果吧。 很簡單的操作步驟。
關注公衆號,瞭解更多精選文章吧。