2011-09-13 52 views
1

我在我的应用程序中有一些活动。在主要活动中我已经定义了唤醒锁:Android,在应用程序的洞中唤醒锁是否处于活动状态?

PowerManager powerManager = (PowerManager)getSystemService(Context.POWER_SERVICE); 
wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock"); 

和它onPause()方法释放。我的问题是,它在整个应用程序中是否活跃?或者我是否需要将其复制/粘贴到我拥有的每项活动中?

感谢

回答

5

只要激活锁定获取,只要唤醒持有锁。相关的是你的WakeLock对象的生命周期。如果WakeLock不再被使用,并且在锁定状态下GC'd,它在垃圾回收期间(在finalize()方法中)被释放。

所以你醒来锁获取()和release()之间的活跃。您必须确保您的代码在需要时从所需的活动中调用这些功能。

如果你在你的应用程序要在全球范围激活锁定,延长android.app.Application,在清单中指定它,和管理应用水平唤醒锁。

相关问题