【发布时间】:2026-02-05 03:50:01
【问题描述】:
我有一个运行前台服务的 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();
}
然后我将其添加到我的清单中
<uses-permission android:name="android.permission.WAKE_LOCK" />
是不是我做错了什么。是否有与服务不同的方法来执行此操作,或者只是无法通过服务来执行此操作(希望不是这种情况)。
【问题讨论】:
-
应用程序正在运行,但屏幕关闭,你的意思是什么?
-
我从前台服务运行的进程,所以它从状态栏运行,但这是一个漫长的过程,所以屏幕经常关闭,当屏幕关闭时,人们有个人资料要穿内衣,所以当服务已开启 我想提供让屏幕保持开启的选项,这样服务不会因屏幕关闭而减慢
标签: android screen preferences backlight