ứng dụng Android của tôi đã báo cáo vụ tai nạn như dưới đây. (Rất hiếm)WakeLock dưới khóa 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)
Giống như java.lang.RuntimeException: WakeLock under-locked C2DM_LIB, tôi có thể thử ~ bắt hoặc sử dụng isHeld()
nhưng tôi không chắc chắn đây là giải pháp tốt nhất và tôi muốn biết tại sao điều này lại xảy ra.
Một số người đoán là BroadcastReceiver và Dịch vụ trong quá trình khác nhau như http://groups.google.com/group/cw-android/browse_thread/thread/9716bc101ce72fb4.
Nhưng điều này có thể thực hiện được không? Tôi không bao giờ sử dụng android: quy trình trong tệp kê khai, do đó, BroadcastReceiver và Dịch vụ phải ở trong cùng một quy trình (chính), phải không?
Bạn có đang sử dụng phương thức có được (thời gian chờ) để lấy khóa wakelock không? – edoardotognoni
Nó bị trùng lặp: http://stackoverflow.com/a/12142013/450148 –