`
流年不遗憾
  • 浏览: 6175 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android:FLAG_KEEP_SCREEN_ON

阅读更多
FLAG_KEEP_SCREEN_ON是让屏幕保持不暗不关闭的最好方法,那么这个方法具体应该怎么使用呢?

我在stackoverflow上找到如下代码:
    @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }
简单来说就是把getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);加进onCreate里面,用WindowManager来管理窗口。

既然是加在Activity的onCreate里,不用试验也知道肯定是针对当前一个Activity的。如果想让所有的Activity都保持唤醒状态怎么办呢?

其实如果用到我之前提到过的BaseActivity这一招得话就可以轻松解决了:

在BaseActivity以及,如果有的话BaseTabActivity,BaseMapActivity等的onCreate中都加入:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
就可以保证继承他们的Activity都继承保持屏幕唤醒了。
 在很多情况下要保持手机屏幕长亮,比如播放视频时。
KEEP_SCREEN_ON_FLAG锁由WindowsMaganerService统一管理
mHoldingScreenWakeLock = pmc.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,""KEEP_SCREEN_ON_FLAG"");
一般情况,上层用,只需将当前窗口增加WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON标志
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

但在android视频播放器MediaPlayer里有统一接口设置flags.
Landroid/media/MediaPlayer;->setScreenOnWhilePlaying(Z)V
分享到:
评论

相关推荐

    Android中如何禁止屏幕休眠和锁屏

    在 Android 中,我们可以使用 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 来禁止屏幕休眠和锁屏。这个标志位可以使屏幕保持常亮,直到我们手动释放它。使用这个方法非常简单,我们只需要在程序中添加一行代码...

    Qt JNI调用Android系统功能

    要保持屏幕常亮,我们需要修改`WindowManager.LayoutParams`中的`FLAG_KEEP_SCREEN_ON`标志。在JNI中,我们可以通过Java反射API来修改窗口参数,确保在应用程序运行时屏幕不会自动熄灭。 3. **动态改变应用的显示...

    Android应用禁止屏幕休眠的3种方法

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.*); ``` 这种方法的优点是,不需要申请权限,也是官方推荐的...

    Android小项目Tb开关灯效果

    `FLAG_KEEP_SCREEN_ON` 会保持屏幕常亮,而 `screenBrightness` 属性则可以控制屏幕亮度。 总结一下,这个“Tb开关灯效果”项目主要涉及到以下几个Android开发知识点: 1. 使用ToggleButton控件创建开关按钮。 2. ...

    Android屏幕常亮

    - `FLAG_KEEP_SCREEN_ON`是一种更轻量级的实现方式,当Activity失去焦点时,系统会自动释放该标志,避免不必要的电池消耗。 - 在生产环境中,考虑到用户体验和电池寿命,应谨慎使用屏幕常亮功能。 博客文章...

    Android应用源码之来电弹屏实例代码,带关闭按钮.zip

    window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_...

    Android锁屏

    WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); startActivity(lockScreenIntent); ``` 3. 对于自定义锁屏的交互,如输入密码或滑动解锁,你需要监听触摸事件并处理相应的验证逻辑。 四、屏蔽系统默认锁屏 ...

    实现Android不锁屏1

    在`onCreate()`方法中,我们调用了`getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)`。这个方法会设置窗口的一个标志,告诉系统不要让屏幕熄灭。`FLAG_KEEP_SCREEN_ON`是一个布尔标志,用于...

    android图库播放幻灯片时按power键灭屏再亮屏显示keyguard

    - `WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON`:保持屏幕一直开启。 - `WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON`:允许在屏幕开启的时候锁定屏幕。 - `WindowManager.LayoutParams.FLAG...

    andriod 锁屏问题

    WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); ``` 5. **应用程序全屏显示**: 如果希望应用程序全屏显示,可以在`AndroidManifest.xml`的`<activity>`标签中添加`android:theme="@android:style/Theme....

    Android通过距离传感器控制屏幕熄灭.zip

    例如,设置`FLAG_KEEP_SCREEN_ON`来保持屏幕常亮,移除该FLAG则让屏幕熄灭: ```java Window window = getWindow(); if (distance ) { window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }...

    Android编程实现屏幕禁止休眠的方法

    此外,如果你想在特定条件(如用户停止交互)下恢复屏幕休眠,可以监听用户的触摸事件或者焦点变化,然后移除`FLAG_KEEP_SCREEN_ON`标志。例如: ```java @Override public void onUserInteraction() { super....

    WindowManager.docx

    - `FLAG_KEEP_SCREEN_ON`保持屏幕常亮。 3. **WindowManager.LayoutParams.softInputMode**:这个属性控制软键盘(虚拟键盘)与窗口的交互方式: - `SOFT_INPUT_ADJUST_RESIZE`窗口大小会随软键盘的出现而改变。...

    Android保持屏幕常亮2种实现方法

    如果需要屏幕全亮,可以使用FLAG_KEEP_SCREEN_ON或者SCREEN_BRIGHT_WAKE_LOCK: ```java WakeLock wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Lock"); ``` 3. 可选地,你可以...

    Android实现保持屏幕常亮功能

    一种更简单的方法是使用 Window 对象的 addFlags 方法来设置 FLAG_KEEP_SCREEN_ON 标识,从而保持屏幕常亮。这种方法不需要申明权限,并且可以在 Activity 中轻松实现。 下面是一个简单的示例代码,展示了如何使用 ...

    BiliBili-基于ijkplayer rxjava retrofit,组件化思想,实现一个仿B站的Android客户端.zip

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) /** 普通播放 start **/ var url = getIntent().getStringExtra("url"); simple_view  .setVideoUrl(url)  .setVideoTitle("这...

    android 照相机

    设置屏幕显示为全屏、高亮 Window window = getWindow(); requestWindowFeature(Window.FEATURE_NO_TITLE);//没有标题 ... window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);//高亮

    Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)

    `FLAG_KEEP_SCREEN_ON`会防止屏幕在应用运行时自动关闭,但请注意,这并不意味着设备的电源管理会被完全禁用,用户仍可通过手动操作关闭屏幕。 为了减少重复代码,这些设置可以在基类Activity中处理,或者利用`...

    Android系统永不锁屏永不休眠的方法

    在Activity中,我们可以使用`getWindow()`方法获取到当前Activity的窗口,并设置`FLAG_KEEP_SCREEN_ON`标志。例如,在`onCreate()`方法中,且在`setContentView()`之前添加以下代码: ```java getWindow()....

    Android 手机防止休眠的两种实现方法

    例如,如果是一个阅读器应用,用户可能期望屏幕保持常亮以便连续阅读,那么在启动阅读界面时启用`FLAG_KEEP_SCREEN_ON`就显得合理。而如果是一个短暂需要防止休眠的场景,如等待用户输入验证码,那么动态设置可能是...

Global site tag (gtag.js) - Google Analytics