当前位置: 首页 > 知识库问答 >
问题:

强制屏幕打开

卢英叡
2023-03-14

如何强制屏幕在我的应用程序运行时保持活动状态而不是关闭?

共有3个答案

鲁浩渺
2023-03-14

另一种解决方案是将android:keepScreenOn=“true”(文档)添加到需要保持屏幕打开的视图中。

允许更精细地控制哪些视图保持打开,哪些不打开。您甚至可以通过这种方式引用资源文件中的设置。

吴靖
2023-03-14

这个问题已经有了很好的答案@hackbod!

我用两个额外的解决方案来回答这个问题!

现有解决方案 :

@Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);    
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }

其他解决方案:

我们可以使用的保持屏幕上

1.实现在java代码中使用setKeepScreenOn()

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // or any View (in case generated programmatically ) 
        View v = getLayoutInflater().inflate(R.layout.driver_home, null);

        v.setKeepScreenOn(true);
        setContentView(v);
       }

文档http://developer.android.com/reference/android/view/View.html#setKeepScreenOn(布尔值)

2.将< code>keepScreenOn添加到< code>xml布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true" >

文档 http://developer.android.com/reference/android/view/View.html#attr_android:keepScreenOn

注意(一些有用的要点):

1.< code>keepScreenOn应该用在< code >主视图/根视图/父视图上没有关系,它可以用在任何< code >子视图上,就像在< code >父视图上一样

2.唯一重要的是< code >视图的可见性必须是可见的,否则它将无法工作!

巫马玉堂
2023-03-14

这需要您授予您的应用程序额外的权限,并且很容易引入错误,您不小心保持保持唤醒锁并因此保持屏幕打开。

使用窗口标志FLAG_KEEP_SCREEN_ON要好得多,您可以在 onCreate() 的活动窗口中启用它,如下所示:

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

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

这将确保当你的窗口在前台时,并且只在它在前台时,屏幕保持打开。它极大地简化了这一常见用例,消除了应用程序在状态间转换时需要做的任何杂耍。

 类似资料:
  • 问题内容: 在终端中工作时,我看到了最后一个Shell命令执行输出的历史记录。如果运行vim,我会看到全屏打开的文件。退出vim时,我可以再次看到最后一个shell命令的历史记录。 但是,当我从屏幕上使用vim时。我在退出vim时看到的是刚刚编辑的文件的足迹,而不是最后一个shell命令的历史记录。 我想看看外壳的历史。 我该如何实现这种行为? 我用了: terminal.app和iterm2.a

  • 所以我已经在我的React应用中使用AWS Amplify (federatedSignIn)实现了Google认证。显然,我想让谷歌帐户选择器屏幕强制用户选择一个帐户登录。显然,它只有在有多个谷歌账户可供选择时才起作用,但如果只有一个账户,系统会自动使用它登录? 如何在只有一个帐户的情况下强制执行选择屏幕?

  • 我是swift和Xcode新手,我想知道是否有人愿意向我解释,我应该如何让我的启动屏幕显示3秒钟,然后在这段时间内稍微淡出? 我想做一个我以前构建的网页的web视图,但希望它在启动屏幕之前淡出。 我已经阅读了所有其他与该主题相关的问题,但我不理解它们。我也一直在关注一些关于这个主题的教程,但什么都没有。 有人吗,拜托?

  • 我有两台显示器;创建 LWJGL 窗口时: 它总是出现在我的左侧屏幕上。是否有一个参数可以设置以更改它出现在哪个屏幕上,例如:

  • 我正在开发这个Android应用程序,它应该为普通和大屏幕设备使用相同的布局。但是对于所有的屏幕尺寸落入xlarge括号中,我希望系统使用这个Android文档描述的屏幕兼容模式。 本文件明确指出: 默认情况下,当以下情况之一为真时,运行Android 3.2及更高版本的设备的屏幕兼容模式作为可选功能提供给用户: > < li> 您的应用程序已将android:minSdkVersion和andr

  • 有没有办法绕过的正常行为及其屏幕外页限制?我的包含四个,每个片断包含一个图像。我遇到的问题是,在实例化时,会创建两个,这导致从catch同时下载/提取大约20个图像(每个片断大约10个)。是否可以禁用屏幕外页限制? 我的目标是只在选择时下载图像,或者只在用户悬停图像时下载图像。实现这一点的一种方法是使用侦听器并设置一个标志,该标志告诉是否允许下载图像。 我能想到的第二种方法是在上设置一个,并且只在