繁体   English   中英

setKeepScreenOn / FLAG_KEEP_SCREEN_ON的正确方法

Correct method for setKeepScreenOn / FLAG_KEEP_SCREEN_ON

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我使用方法setKeepScreenOn(true),并且无法弄清楚如何相对于当前Activity(具有内容视图集)调用它。 我已经能够通过在我的一个按钮上调用它来实现它,它总是出现在视图中,但这感觉不对 - 而且我确信必须有办法解决这个问题。 我尝试引用当前的焦点,如下所示:

getCurrentFocus().setKeepScreenOn(true);

但是抛出了NullPointerException。 也许目前没有焦点。 那么,有人能告诉我如何引用我在里面工作的视图类吗? 谢谢 :)

5 个回复

试试这个答案

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

getWindow是为活动定义的方法,不需要您首先查找View

正如霍克所说,但解释不佳。

您还可以在XML布局文件中使用FLAG_KEEP_SCREEN_ON

注意android:keepScreenOn="true"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true"
    android:orientation="vertical" >

    <!-- whatever is in your layout -->

</LinearLayout>

我现在写了所有选择,以保持屏幕上的博客文章:
http://blog.blundellapps.com/tut-keep-screen-onawake-3-possible-ways/

在XML中设置android:keepScreenOn

如果您在类扩展View上执行此操作。 你可以简单:

this.setKeepScreenOn(true);

根据Google Docs for android Developers,您有两种方法可以做到这一点:

第一种方式:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

第二种方法是在你的xml文件布局中添加这个属性: android:keepScreenOn="true"

1 FLAG_KEEP_SCREEN_ON的对面

我有一个片段,可以播放视频。 在此片段上,我希望用户能够旋转屏幕并使屏幕始终保持打开状态。 我已经设置了标志FLAG_KEEP_SCREEN_ON,但是如何将其恢复为默认/先前状态? ...

2020-12-24 14:01:59 1 32   android
3 在Android系统上使用FLAG_KEEP_SCREEN_ON

我的应用程序的目标是使整个Android系统上的屏幕保持打开状态。 以前,我为此使用FULL_WAKE_LOCK ,它使我能够阻止整个系统上的屏幕变暗。 但是,自API级别17开始,已弃用: 该常数在API级别17中已弃用。大多数应用程序应使用FLAG_KEEP_SCREEN_ON ...

4 FLAG_KEEP_SCREEN_ON反向工作

这是一个奇怪的。 我以前使用的是: android:keepScreenOn="true" 在我的布局文件中以保持屏幕处于活动状态,这很好用。 但是我想改进它,以便仅在Web应用程序处于特定状态时才保持屏幕打开。 (用户仍然可以根据需要关闭屏幕,我实际上只是想禁用超时-每当活 ...

5 FLAG_KEEP_SCREEN_ON无法清除

我从这开始,它确实使平板电脑无法入睡。 后来我打电话给... 但是屏幕没有开始休眠。 我想念什么吗? 编辑: 看起来是从webappinterface调用此问题。 如果我用按钮调用它,它确实可以工作。 ..............等........ ...

2015-05-03 09:37:44 0 654   android
6 FLAG_KEEP_SCREEN_ON不会使屏幕变暗

我在两个活动的onCreate()方法上使用以下代码行: 当然,要点是保持屏幕打开且不发暗。 关键是,如果在启动我的一项活动之前,屏幕变暗(未关闭),则屏幕将保持其变暗,直到用户触摸该活动为止。 用户与活动进行任何方式的交互(我假设是TouchEvent或类似的东西)后,设备将取 ...

7 为什么FLAG_KEEP_SCREEN_ON无法正常工作?

我正在尝试在运行“正在进行的通知”的情况下将测试应用程序置于前台时,使屏幕始终保持打开状态。 当应用程序处于恢复状态时,它可以正常工作,但是当我在通知状态栏中显示“正在进行中”通知时,按下主屏幕/中间按钮将应用程序置于暂停状态时,它不起作用。 为什么getWindow().addFlag ...

8 如何为其他应用设置FLAG_KEEP_SCREEN_ON?

是否可以为其他应用设置FLAG_KEEP_SCREEN_ON? 我想在启动我的应用程序时为第三方应用程序启用它,并在我的应用程序退出时禁用它。 https://developer.android.com/training/scheduling/wakelock#screen仅向我展示了如何针对自 ...

9 FLAG_KEEP_SCREEN_ON无法正常工作

我的月食中有2个应用程序,它们都称为方法 但是其中一个工作正常,而其他根本不工作(一段时间后屏幕仍将完全变暗,并出现锁定屏幕)。 我使用的代码完全相同,我很沮丧为什么它不能在第二个应用程序上运行。 有人知道这是怎么回事吗? 这是我第二个应用程序的代码: 编辑:我要在第二 ...

2012-08-30 15:55:25 0 959   android
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM