我的Android應用程序有像下面崩潰報告。(很少見)激活鎖定在鎖定GCM_LIB
java.lang.RuntimeException: WakeLock under-locked GCM_LIB
at android.os.PowerManager$WakeLock.release(PowerManager.java:325)
at android.os.PowerManager$WakeLock.release(PowerManager.java:300)
at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:252)
像java.lang.RuntimeException: WakeLock under-locked C2DM_LIB,我可以嘗試〜捕或使用isHeld()
,但我不確定這是最好的解決方案,我想知道爲什麼會發生這種情況。
一些猜測是BroadcastReceiver和Service在不同的過程 喜歡http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4。
但這是可能的嗎?我從來沒有在清單中使用android:process,所以BroadcastReceiver和Service應該在同一個(主)進程中,不是嗎?
您是否使用acquire(timeout)方法來獲取喚醒鎖? – edoardotognoni 2013-04-30 13:00:28
它被複制:http://stackoverflow.com/a/12142013/450148 – 2013-09-19 19:07:42