Meine Android App bekam Crash-Bericht wie unten. (Sehr selten)WakeLock Unter gesperrt 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)
Wie java.lang.RuntimeException: WakeLock under-locked C2DM_LIB, könnte ich versuchen ~ fangen oder mit isHeld()
aber ich bin nicht Sicher, das ist die beste Lösung und ich möchte wissen, warum das passiert.
Einige Vermutung ist, dass BroadcastReceiver und Service in verschiedenen Prozess wie http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4.
Aber ist das überhaupt möglich? Ich habe nie Android verwendet: Prozess in Manifest, so BroadcastReceiver und Service sollten im selben (Haupt-) Prozess sein, sollten sie nicht?
Verwenden Sie die Acquire (Timeout) -Methode für den Erwerb des Wakelock? – edoardotognoni
Es ist doppelt vorhanden: http://stackoverflow.com/a/12142013/450148 –