X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=services%2Fcore%2Fjava%2Fcom%2Fandroid%2Fserver%2Fam%2FServiceRecord.java;h=f87ba716926e8bfff16ae4b5bc4db6944763cc68;hb=c6fd63a7a80f06a89b34aa1894694922c3af9f20;hp=16995e50fdbf9c2f050c34ee4075f02b7d817286;hpb=f718585bf482abae0ef4666a5d67d9c0c3a0ffe5;p=android-x86%2Fframeworks-base.git diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java index 16995e50fdbf..f87ba716926e 100644 --- a/services/core/java/com/android/server/am/ServiceRecord.java +++ b/services/core/java/com/android/server/am/ServiceRecord.java @@ -453,6 +453,7 @@ final class ServiceRecord extends Binder { final String localPackageName = packageName; final int localForegroundId = foregroundId; final Notification _foregroundNoti = foregroundNoti; + final ServiceRecord record = this; ams.mHandler.post(new Runnable() { public void run() { NotificationManagerInternal nm = LocalServices.getService( @@ -551,10 +552,8 @@ final class ServiceRecord extends Binder { Slog.w(TAG, "Error showing notification for service", e); // If it gave us a garbage notification, it doesn't // get to be foreground. - ams.setServiceForeground(name, ServiceRecord.this, - 0, null, 0); - ams.crashApplication(appUid, appPid, localPackageName, -1, - "Bad notification for startForeground: " + e); + ams.mServices.killMisbehavingService(record, + appUid, appPid, localPackageName); } } });