我有一个有趣的问题:
我开始我的活动,从这个活动我在另一个过程中启动我的服务。 启动服务后,它会在栏中显示通知。 通知是.setOngoing(true),所以只有当我从我的Activity中停止服务时它才会消失。
然后在Eclipse中,在设备选项卡中我杀了我的服务进程,但通知仍然存在! 要关闭它,我必须再次启动服务,然后必须停止它。
为什么我的通知不会与服务一起被杀死?
答案 0 :(得分:1)
所以你说服务是在另一个进程上的吗?
我正在开发一个具有类似结构的应用程序。请查看" AbstractService" class和" ServiceManager"来自com.philippheckel.service包的课程。
使用Compat.Builder与旧版和新版Android兼容
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(getResources().getString(R.string.service_header))
.setContentText("Connect to: http://" + httpd.getip() + ":8080")
.setContentIntent(pendingIntent)
.setOngoing(true);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(01, mBuilder.build());
看到我再次使用相同的ID?这非常重要
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(01);
答案 1 :(得分:-1)
在停止服务时清除通知
如果没有清除通知
只需看看NotificationManager类如何清除。
http://developer.android.com/reference/android/app/NotificationManager.html