📌  相关文章
📜  如何在Android中保持设备屏幕打开?

📅  最后修改于: 2021-05-09 17:59:54             🧑  作者: Mango

在Android中,可以看到屏幕超时设置为30秒,或者由用户在系统设置中手动设置,以免浪费电池。但是在某些情况下,秒表文档阅读器应用程序游戏应用程序需要屏幕始终处于唤醒状态。在本文中已对其进行了演示,如何使设备屏幕保持清醒。

保持设备屏幕打开的步骤

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。

步骤2:更改应用程序基本主题颜色组合

  • 更改基本应用程序主题颜色,请转到应用程序-> res->值-> colors.xml ,然后调用以下颜色组合。
XML


    #0f9d58
    #006d2d
    #55cf86


XML


  
    
    
  
    
  
    
  
    
  
    
  


XML

  


  
    
    
  
    
  
    
  
    
  
    
  


Java
import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
import android.view.WindowManager;
  
public class MainActivity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // setting up the flag programmatically so that the 
        // device screen should be always on
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
}


  • 如果尚未获得colors.xml文件,请参考下图:

步骤3:使用activity_main.xml文件

activity_main.xml文件中,添加TextViews以使该应用程序类似于文档读取应用程序。

XML格式



  
    
    
  
    
  
    
  
    
  
    
  

产生以下输出UI:

输出用户界面

步骤4:继续保持装置萤幕不动

有两种方法可以使屏幕始终保持清醒状态。

方法1:将“ keepScreenOn”调用为true

通过在应用程序的根视图中调用以下属性,可以使设备屏幕保持唤醒状态。

您可以查看以下activity_main.xml代码:

XML格式


  


  
    
    
  
    
  
    
  
    
  
    
  

方法2:以编程方式保持屏幕显示

现在,您可以从activity_main.xml文件中删除属性android:keepScreenOn =“ true” ,并保留所有代码不变,并在MainActivity中调用以下代码。 Java文件。

完整的代码如下。

Java

import androidx.appcompat.app.AppCompatActivity;
  
import android.os.Bundle;
import android.view.WindowManager;
  
public class MainActivity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // setting up the flag programmatically so that the 
        // device screen should be always on
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
}

输出

输出结果如下图所示 (建议在物理android设备上测试此应用程序,以便无论应用程序屏幕是否醒着都可以看到结果),并且两种方法的输出都将保持不变:

输出

推荐哪种方法?

两种方法都相同,可以使用任何一种感觉更好的方法,但建议编程方式实施,因为在复杂的android应用程序中,开发人员在特定活动中设置了许多标志,并且很容易获得所有标志并手动禁用和管理他们。

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!