2011-09-13 95 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,在清單中指定它,和管理應用水平喚醒鎖。

相關問題