Android 在应用程序中保持屏幕开启

标签 android screen preferences backlight

我有一个运行前台服务的 Android 应用程序,当该服务正在运行时,我想为用户提供保持屏幕打开的选项。

我在我的设置首选项中添加了一个复选框首选项,如果为真,我想保持屏幕打开,但默认情况下将其设置为关闭。这正是我的用户所要求的。目前我有偏好,但当我运行该服务时,我的屏幕仍然关闭,这是我所做的

全局变量

private static final String PREFS_DEVICE = "DeviceInfo";

代码和if语句

SharedPreferences settings = getSharedPreferences(PREFS_DEVICE, 0);
            if(settings.getBoolean("screenPref", false)) {
                final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                this.mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
                this.mWakeLock.acquire();
            }

然后我将其添加到我的 list 中

<uses-permission android:name="android.permission.WAKE_LOCK" />

我做错了什么吗?是否有不同的方法可以通过服务执行此操作,或者只是不可能通过服务执行此操作(希望不是这种情况)。

最佳答案

您可以使用标志 FLAG_KEEP_SCREEN_ON

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

当你不想继续的时候

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

关于Android 在应用程序中保持屏幕开启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7342767/

相关文章:

java - Android 文件为空且不为空

java - 在Java中提取XML属性(ISBNDB)

java - 在android上屏幕旋转后恢复方法

android - registerOnSharedPreferenceChangeListener 不起作用

java - Eclipse:以编程方式创建首选项页面

android - 我新发布的 Android 应用无法在市场上搜索到,但可以在 appBrain 上搜索到。

android - 2 条水平线上的一个单选按钮组中的单选按钮

android - 如何知道自上次电池充电或在 Android 中重新启动后屏幕是否准时显示?

javascript - 如何在 JavaScript 中使用 ScrollTo()

android - Tabbar 和 Preference 页面在 android 中聚集在一起