Уведомления исчезают, как только услуга заканчивается

У меня есть служба, которая очищает веб-сайт для данных, а затем, при необходимости, уведомляет пользователя.

Проблема, с которой я сталкиваюсь, заключается в том, что уведомления исчезают, как только служба закрывается (, что может быть мгновенно ). Приведенный ниже код — это весь код уведомления, который есть в приложении. Я не вводил код для отмены уведомлений.

public static void CreateNotificationCompat(int notificationID, String link, String title, String text, Context ctx)
{
    Intent notificationIntent = new Intent("android.intent.action.VIEW", Uri.parse(link));
    PendingIntent contentIntent = PendingIntent.getActivity(ctx.getApplicationContext(), 0, notificationIntent, 0);

    NotificationManager nm = (NotificationManager) ctx
           .getSystemService(Context.NOTIFICATION_SERVICE);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx);
    Resources res = ctx.getResources();

    builder.setContentIntent(contentIntent)
               .setSmallIcon(R.drawable.notify_icon)
               .setWhen(System.currentTimeMillis())
               .setContentTitle(title)
               .setContentText(text)
               .setAutoCancel(false);

    Notification n = builder.getNotification();

    nm.notify(notificationID, n);
}

Если это имеет какое-то значение, (почти уверен, что нет, )здесь я использую контекст приложения.

Мои службы периодически запускаются, обрабатывают веб-сайт, уведомляют при необходимости и затем закрываются.

В конце моей службы вместо того, чтобы просто вызывать stopSelf (), я сплю примерно 30 секунд, а затем вызываю stopSelf (). Затем уведомление остается на 30 секунд, а затем исчезает. Когда уведомления исчезают, в logcat не появляется ничего важного.

Я пока смог протестировать только с помощью ICS.

8
задан user1531605 17 July 2012 в 11:41
поделиться