Android保持螢幕常亮的三種方式
阿新 • • 發佈:2018-12-11
方式一:
1.新增許可權
<uses-permission android:name="android.permission.WAKE_LOCK"/>
2.獲取PowerManager物件
3.通過PoverManager物件獲取螢幕鎖WakeLock
4.在onResume中保持wakeLock
5.在onPause方法釋放wakeLock
class KeepScreenActivity extends BaseActivity{ private PowerManager powerManager; private PowerManager.WakeLock wakeLock; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_keep_screen); powerManager = (PowerManager)this.getSystemService(this.POWER_SERVICE); wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "keep_Lock"); } @Override protected void onResume() { super.onResume(); wakeLock.acquire(); } @Override protected void onPause() { super.onPause(); wakeLock.release(); } }
該方法是最繁瑣的一種方式,因此不推介使用
方式二:
該方式不需要新增許可權,直接在onCreate方法中一行程式碼搞定
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
方式三:
該方式是直接修改xml檔案,在佈局檔案中新增android:keepScreenOn屬性
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true"> </FrameLayout>