diff options
| -rw-r--r-- | services/core/java/com/android/server/am/BroadcastQueue.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java index 639b7a911998..b3a2c291760c 100644 --- a/services/core/java/com/android/server/am/BroadcastQueue.java +++ b/services/core/java/com/android/server/am/BroadcastQueue.java @@ -614,9 +614,10 @@ public final class BroadcastQueue { skip = true; } - if (!skip && (filter.receiverList.app == null || filter.receiverList.app.crashing)) { + if (!skip && (filter.receiverList.app == null || filter.receiverList.app.killed + || filter.receiverList.app.crashing)) { Slog.w(TAG, "Skipping deliver [" + mQueueName + "] " + r - + " to " + filter.receiverList + ": process crashing"); + + " to " + filter.receiverList + ": process gone or crashing"); skip = true; } @@ -1317,7 +1318,7 @@ public final class BroadcastQueue { } // Is this receiver's application already running? - if (app != null && app.thread != null) { + if (app != null && app.thread != null && !app.killed) { try { app.addPackage(info.activityInfo.packageName, info.activityInfo.applicationInfo.versionCode, mService.mProcessStats); |