1. 程式人生 > >Android保持螢幕常亮的三種方式

Android保持螢幕常亮的三種方式

方式一:

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>