首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android: Wakelock &处理方向的改变

Android: Wakelock &处理方向的改变
EN

Stack Overflow用户
提问于 2010-01-13 17:13:30
回答 3查看 1.8K关注 0票数 2

我在我的应用程序中使用Wakelock来防止手机在应用程序可见时睡觉。

当方向发生变化,系统破坏并在景观模式下重新创建应用程序时,问题就出现了。如果后台的唤醒计时器已过期,则系统会将“唤醒”的发布作为关闭屏幕的机会。

编辑:我应该提到,我正在设置wakelock onResume,并发布onPause --据我所知,有必要发布该应用程序,以防止其泄漏唤醒锁。

我需要唤醒才能继续改变方向。

下面我概述了这方面的解决方案。这是处理它的首选方法吗?还有其他选择吗?

创建一个包含唤醒(而不是活动)的服务,当该活动解除绑定时,该服务启动一个倒计时计时器(例如10秒),如果该活动不重新绑定,它将在计时器过期时释放该计时器。如果它是一个简单的方向改变,活动将在10秒内重新绑定,因此维护唤醒锁,如果没有,那么唤醒锁将被释放。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-13 17:27:16

不要使用WakeLock,而是尝试使用getWindow().setFlags()标志WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON

如果后台的唤醒计时器已过期,则系统会将唤醒卡的发布作为关闭屏幕的机会。

根据定义,用户已经与设备进行了交互,因此屏幕应该因为这个原因而不受任何其他因素的影响。

票数 4
EN

Stack Overflow用户

发布于 2014-02-05 00:20:56

我就是这么做的..。

代码语言:javascript
复制
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ON_AFTER_RELEASE, "DoNotDimScreen");

然后是..。

代码语言:javascript
复制
wl.acquire();

..。当你需要激活唤醒锁的时候。

“PowerManager.ON_AFTER_RELEASE”标志戳入用户活动计时器,以便在释放此唤醒锁时屏幕保持较长时间,当您的活动在改变方向时被破坏时就是如此。

对我来说没问题!

票数 0
EN

Stack Overflow用户

发布于 2014-06-30 10:24:12

我做这件事实际上从来没有释放过警钟。相反,我通过超时来获得它。

代码语言:javascript
复制
private PowerManager.WakeLock wl;

protected void onStart(Bundle savedInstanceState) {
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "Words counter");
    // disable reference counting, as acquire/release calls are not paired
    wl.setReferenceCounted(false);
    wl.acquire();
}

protected void onStop() {
    // acquire for few seconds to keep lock until onStart is called with new orietnation
    wl.acquire(3000);
}

相对于其他方法的优势:

SCREEN_DIM_WAKE_LOCK

  • Simple一起使用的
  • (不需要玩isFinishing()等)
  • 在改变方向后不戳用户活动。也就是说,如果您发布(例如,时间已过,但用户仍在活动中),则会立即释放暗屏
  • 。不需要等待默认超时。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2058712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档