【发布时间】:2014-12-30 20:34:11
【问题描述】:
您好 Stackoverflow 用户,
我正在尝试使用以下代码为这种情况打开新活动if(intent.getAction().equals(Intent.ACTION_SCREEN_ON))(该服务具有广播接收器)
Intent intent = new Intent(context, OverlayActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
问题是当新活动打开时,屏幕超时设置无法像以前那样工作并且屏幕始终亮着。活动中没有标志 FLAG_KEEP_SCREEN_ON。活动只有空的 onCreate() 方法。我不知道是什么问题。为什么屏幕超时(15 秒)后屏幕不关闭?当我在没有此活动的情况下运行服务时,它会像往常一样禁用屏幕。
【问题讨论】:
-
您正在检查哪个 android 版本?
-
Android 4.3 版(Galaxy S3 和 Nexus 4)
-
除非您正在执行其他操作,例如持有电源锁或在其中一个视图上的活动布局中使用 android:keepScreenOn="true",否则不应这样做
-
没有类似 android:keepScreenOn="true" 的任何属性。关于 WakeLock,我什至已经评论了所有这部分。但是,一旦它在 KeyGuard(KeyGuard 通过触摸屏禁用用户)后打开活动,超时就消失了。不评论释放唤醒锁也无济于事。
标签: android android-activity android-service