我有一个服务,可以从网站上获取数据,如果需要会向用户发送通知。
问题是一旦服务关闭(可能立即关闭),通知就会消失。以下是应用程序所有通知代码。我没有放置任何取消通知的代码。
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进行测试。