一、界面布局文件顶层添加keepScreenOn属性

android:keepScreenOn="true"

二、Window中设置flag

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

以上两种方法均不需要申请权限,也是Android官方推荐的做法。

三、持有WakeLock(已经不推荐的做法)

先申请权限:

通过PowerManager获取WakeLock后,在onResume以及onPause执行响应操作:

package com.example.note4xtest;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;import android.os.Bundle;import android.os.PowerManager;import android.util.DisplayMetrics;import android.util.Log;import android.view.WindowManager;public class MainActivity extends Activity {    private static final String TAG = MainActivity.class.getSimpleName();    private PowerManager.WakeLock mWakeLock;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);//        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);        PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);        if (powerManager != null) {            mWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, TAG);        }    }    @Override    protected void onResume() {        super.onResume();        if (mWakeLock != null) {            mWakeLock.acquire();        }    }    @Override    protected void onPause() {        super.onPause();        if (mWakeLock != null) {            mWakeLock.release();        }    }}

WakeLock相关的FLAG:

  • PARTIAL_WAKE_LOCK:保持CPU运转,屏幕和键盘灯可能是关闭的
  • SCREEN_DIM_WAKE_LOCK:保持CPU运转,允许保持屏幕显示但可能是灰的(非高亮),允许键盘灯关闭
  • SCREEN_BRIGHT_WAKE_LOCK:保持CPU运转,允许保持屏幕高亮显示,允许关闭键盘灯
  • FULL_WAKE_LOCK:保持CPU运转,保持屏幕高亮显示,键盘灯也保持亮度

更多相关文章

  1. Android 设定横竖屏,屏幕旋转导致Activity重置问题
  2. Android 如何从屏幕底部向上滑出一个view
  3. Rexsee API介绍:Android屏幕锁定Keyguard
  4. Android : 隐藏软键盘
  5. Android屏幕元素层次结构
  6. 【Android】EditText实现搜索功能,把键盘回车键改为搜索;EditText
  7. Android EditText 禁止软键盘弹出

随机推荐

  1. android(27)(显示意图之打开浏览器)
  2. Android判断文件类型(视频、音频、图片等)
  3. Android 常用工具类封装
  4. Android之SharedPreferences轻量数据存储
  5. 关于android 摄像头 显示方向
  6. Android Intent 大全 截止到Level 8
  7. 【NFC】Android NFC API Reference中英文
  8. Android布局文件xml
  9. Android View之组合控件实例(一)
  10. Android(安卓)5.0 Activity切换动画