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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章