我有一项服务可以抓取网站的数据,然后在必要时向用户发出通知。
我遇到的问题是,一旦服务关闭(可能是立即的)通知就会消失。以下代码是应用程序具有的所有通知代码。我没有输入任何代码来取消通知。
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 进行测试。